The code from platimg is incorrect for 64-bit windows bebause DATA is not an
array of 6 long-long integers.

Please refer to the verb glqpixels inside graphics/gl2 addon for examples
of how it work for gtk2, cairo graphic, gdi32 and gdiplus.

If you don't need conversion between various image formats, then gdi32 (bmp)
or cairo graphic (png) would be sufficient.

Срд, 11 Янв 2012, Cliff Reiter писал(а):
> With<0, get to memr but w and h of image are wrong
> 
>     load 'c:\data\gdiplus.ijs'
>     require 'dll'
>     load 'viewmat'
> 
>     NB. GdiplusStartupInput =: 1 0 0 0+0*4
>     BitmapData =: 'WdthHghtStrdFrmtScanRsrv'
> 
>     GdiplusStartup (TOK=:,_1);GdiplusStartupInput;0
> 0
>     TOK
> 183471116
>     y=:'c:\data\atkiln.jpg'
>     NB.   GdipCreateBitmapFromFile y;BMP=.,_1
>       GdipCreateBitmapFromFile y;BMP=:,_1
> 0
>     y
> c:\data\atkiln.jpg
>     NB. bmpARGB
>     ]  DATA=: i.4%~#BitmapData
> 0 1 2 3 4 5
>     ]y=:{.BMP
> 60912368
>     NB.   GdipBitmapLockBits y;0;ImageLockModeRead;PixelFormat32bppARGB;DATA
>       GdipBitmapLockBits y;(<0);1;PixelFormat32bppARGB;DATA
> ┌─┬────────┬───┬─┬───────┬───────────────────────────────────────────────┐
> │0│60912368│┌─┐│1│2498570│3006477107668 10731276436768592 116457472 1 4 5│
> │ │        ││0││ │       │                                               │
> │ │        │└─┘│ │       │                                               │
> └─┴────────┴───┴─┴───────┴───────────────────────────────────────────────┘
>       'w h s f p r'=: DATA
>     NB.   z=. (h,w)$memr p,0,(w*h),JINT
>       z=. (h,w)$memr p,0,(w*h),4
> |domain error: memr
> |   z=.(h,w)$    memr p,0,(w*h),4
> |[-20] c:\data\io.ijs
> 
> 
> 
> 
> On 1/11/2012 11:21 AM, bill lam wrote:
> > That line in api prototype might be incorrect, try coerce it into a null
> > pointer eg,
> >
> >     GdipBitmapLockBits y;(<0);ImageLockModeRead;PixelFormat32bppARGB;DATA
> >
> > Срд, 11 Янв 2012, Cliff Reiter писал(а):
> >> Here is what I run into, J6.02 64bit, using api/gdiplus but using
> >> platimg as a template
> >>
> >>      load 'c:\data\gdiplus.ijs'
> >>      require 'dll'
> >>      load 'viewmat'
> >>
> >>      GdiplusStartupInput =: 1 0 0 0
> >>      BitmapData =: 'WdthHghtStrdFrmtScanRsrv'
> >>
> >>      GdiplusStartup (TOK=:,_1);GdiplusStartupInput;0
> >> 0
> >>      y=:'c:\data\atkiln.jpg'
> >>        GdipCreateBitmapFromFile y;BMP=.,_1
> >> 0
> >>
> >>      NB. bmpARGB
> >>      ]  DATA=: i.4%~#BitmapData
> >> 0 1 2 3 4 5
> >>      y=:{.BMP
> >>        GdipBitmapLockBits y;0;ImageLockModeRead;PixelFormat32bppARGB;DATA
> >> |domain error: cd
> >> |       GdipBitmapLockBits y;0;ImageLockModeRead;PixelFormat32bppARGB;DATA
> >> |[-14] c:\data\io.ijs
> >>
> >>
> >> On 1/11/2012 10:01 AM, bill lam wrote:
> >>> Oleg's platimg only works for 32-bit, while api/gdiplus and api/gdi32
> >>> (should) work for both 32-bit and 64-bit.  Those x's usually stand for
> >>> pointers whose length depend on 32/64-bit OS.
> >>>
> >>> Please provide a minimun example showing how it didn't work for GDI/API.
> >>>
> >>> Срд, 11 Янв 2012, Cliff Reiter писал(а):
> >>>> In thinking about the best way to move forward the best of image3 addon
> >>>> to 64 bit and J7 it seems to me that using OS resources would be
> >>>> preferred over porting the image3 dll source to 64 bit. In the platimg
> >>>> addon I see that Oleg managed that nicely in J6 32. I presume this has
> >>>> also been done in J7 based on the J7 api/gdi addon. Any pointers to
> >>>> where I should look for examples to that?
> >>>>
> >>>>
> >>>> -- 
> >>>> Clifford A. Reiter
> >>>> Lafayette College, Easton, PA 18042
> >>>> http://webbox.lafayette.edu/~reiterc/
> >>>>
> >>>> ----------------------------------------------------------------------
> >>>> For information about J forums see http://www.jsoftware.com/forums.htm
> >> -- 
> >> Clifford A. Reiter
> >> Lafayette College, Easton, PA 18042
> >> http://webbox.lafayette.edu/~reiterc/
> >>
> >> ----------------------------------------------------------------------
> >> For information about J forums see http://www.jsoftware.com/forums.htm
> 
> -- 
> Clifford A. Reiter
> Lafayette College, Easton, PA 18042
> http://webbox.lafayette.edu/~reiterc/
> 
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm

-- 
regards,
====================================================
GPG key 1024D/4434BAB3 2008-08-24
gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to