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