Recent Posts

Pages: [1] 2 3 4 ... 10
Suggestions, Feature Requests, Contributions / Re: Date of Website
« Last post by Galfar on 9 July 2018, 12:59:48 »
I'm going to update the website with current status in coming days.

Imaging has has repo on Github for some time now:
Bugs And Other Insects / Re: Problem for 64bit
« Last post by Phoenix on 27 June 2018, 19:11:55 »
The crash I found is a memory violation (unfortunately, too much time has passed and I do not remember what happened. The original source has been heavily modified. Probably there was an anomaly in the program or a violation message of memory by the debugger). The application is very large and also uses several third-party libraries. I isolated the problem by excluding source parts. Finally, by applying the change reported, I no longer detected problems with memory.
So providing a source that can show a problem like this is very difficult  :(.

But these resources should help:



32bit / 64 bit support

Pointers under 64bit need 8 bytes instead of 4 on 32bit. The 'Integer' type remains for compatibility 32bit. This means you can no longer typecast pointers into integers and back. FPC defines two new types: PtrInt and PtrUInt. PtrInt is a 32bit signed integer on 32 bit platforms and a 64bit signed integer on 64bit platforms. The same for PtrUInt, but unsigned integer instead. Use for code that should work with Delphi and FPC:

{$IFNDEF FPC} for 32bit
  PtrInt = Longint;
  PtrUInt = DWord;

{$IFNDEF FPC} for 64bit
  PtrInt = Int64;
  PtrUInt = QWord;


NOTE: pointers are unsigned integer

 Thank!  :)
Could you check with the latest version of Imaging? There was a rework of the Lazarus packages in March 2018.
Suggestions, Feature Requests, Contributions / Re: Date of Website
« Last post by JernejL on 17 May 2018, 10:15:04 »
Even if it was last updated in 2012, this library is so solid and productive it could well have no updates for years :)
I would however suggest moving repo to github to attract more users and exposure.
Suggestions, Feature Requests, Contributions / Re: 16 bit floating point
« Last post by Galfar on 10 May 2018, 22:50:00 »
Thanks for the tip, looks pretty nice.
Suggestions, Feature Requests, Contributions / Date of Website
« Last post by Christian on 4 April 2018, 13:49:36 »
One little suggestion:

Your website available on indicates that the project has not been continued since 2012.

I would update the date to 2018, otherwise users would think that the project is dead.
Bugs And Other Insects / SaveMultiImageToFile ignores GIF playback speed
« Last post by Christian on 31 March 2018, 22:05:36 »
When loading an animated multiframe GIF with the function LoadMultiImageToFile and save it with SaveMultiImageToFile, the playback speed of the frames set in the original file is ignored. Instead, it is always set a time of 65/100 second.

I am using the newest version of Vampyre Imaging Library, default branch from sourceforge with FPC Lazarus.

Is there any possibility to save or set the delay?
Suggestions, Feature Requests, Contributions / 16 bit floating point
« Last post by JernejL on 22 March 2018, 14:19:50 »
I wish to share this find with galfar and the rest here, it's related to processing 16 bit floating point values:
There is already a pascal implementation of this that i have found:
I hope you find it useful, surely a lookup table based solution with no cpu code branching is a big improvement if you process 16 bit floating point values regularly.
Bugs And Other Insects / Problem for 64bit
« Last post by Phoenix on 17 February 2018, 14:27:48 »

I found a problem using the latest version of lazarus (1.8.0 64bit FPC 3.0.4) in debug mode. On Windows 10 64bit.

In the imjmorecfg.pas file I saw:

Code: Delphi
  1. uInt = Cardinal;

This I think is a problem for 64bit systems

For FPC if I replace with
uInt = NativeUInt
I do not perform more dangerous crashes

Also I think there is a similar problem (I have not tested) for:

uInt = cardinal; -> NativeUInt
ptr2int = uInt; -> PtrUInt
(but the message "Nomssi" under "ptr2int" is not very clear)

I noticed that through the lazarus compiler, several "warning" and "hint" messages appear.
For "justified Hints" it is possible to disable them (to avoid having to run many already verified messages).

Code: Delphi
  1. FillChar(TmpInfo, SizeOf(TmpInfo), 0);
show variable message not initialized
it is due to the use of "var" but here it is correct then
Code: Delphi
  1. FillChar({%H-}TmpInfo, SizeOf(TmpInfo), 0);
avoid the message (it is filtered by lazarus itself)

Finally, the compilation on the ImagingPcx.pas unit is blocked
Code: Delphi
  1. ifMono: TImageFormat = TImageFormat (250);
I do not know if it's correct.
I know that the SizeOf () dimension of the "enum" types can change depending on the number of elements.
The compiler writes:
ImagingPcx.pas(91,43) Error: range check error while evaluating constants (250 must be between 0 and 206)

(sorry for my English)

Help & Questions / Re: Convert png with transparency to a bitmap
« Last post by Phoenix on 7 February 2018, 19:42:52 »
Thanks for the reply  :)!
So it is not possible, replace the "transparent color" during the conversion to make the process faster  :(.
Pages: [1] 2 3 4 ... 10