VoyForums

Login ] [ Contact Forum Admin ] [ Main index ] [ Post a new message ] [ Search | Check update time | Archives: 123456[7]8910 ]


[ Next Thread | Previous Thread | Next Message | Previous Message ]

Date Posted: 18:18:37 01/09/02 Wed
Author: Michel
Subject: Re: getDIB failed
In reply to: Marcel 's message, "getDIB failed" on 02:32:12 01/09/02 Wed


Hi Marcel,

This is a result of the GetDiBits windows API call failing.
Usually this is a limitations of windows with large graphic files. I have seen this issue in the past but was not able to find a reliable solution to it.

Check in your EnDiGrph.Pas if the version you are using has this change:

procedure TDibGraphic.Assign(Source: TPersistent);
...

Change:
{ MB Oct 28, 1999. The AssignFromBitmapHandle works with a device dependent bitmap. This is required to load 16 bit bitmaps, in order to convert them to 24 bits using the GetDIB function. }
TBitmap(Source).HandleType := bmDDB;

To:
{ MB Oct 28, 1999. The AssignFromBitmapHandle works with a device dependent bitmap. This is required to load 16 bit bitmaps, in order to convert them to 24 bits using the GetDIB function. }
if TBitmap(Source).PixelFormat = pf16Bit then
TBitmap(Source).HandleType := bmDDB
else
TBitmap(Source).HandleType := bmDIB;

One user has mentionned that this has helped reduce the number of GetDib failures.

Best regards,

Michel




>Hello,
>
>Sometimes, when creating graphics, I have the message
>"getDib failed". But with the same process and the
>same image list, all works fine at another time...
>
>Is there something to check ?
>
>Marcel.

[ Next Thread | Previous Thread | Next Message | Previous Message ]


Replies:


[ Contact Forum Admin ]


Forum timezone: GMT-5
VF Version: 3.00b, ConfDB:
Before posting please read our privacy policy.
VoyForums(tm) is a Free Service from Voyager Info-Systems.
Copyright © 1998-2019 Voyager Info-Systems. All Rights Reserved.