Great pointer! Thank you. On 1/11/2012 5:47 PM, bill lam wrote: > 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
-- 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