gpt4 book ai didi

linux - Lazarus BitsPerPixel 错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:27:20 25 4
gpt4 key购买 nike

有一个用 Lazarus 编写的简单应用程序。当它尝试打开图形文件时出现“不兼容的 BitsPerPixel”错误。操作系统:Debian。拉撒路:1.4.0。关于如何解决它的任何想法?

ERROR in LCL: TGtk2WidgetSet.CreateBitmapFromRawImage Incompatible BitsPerPixel

Creating gdb catchable error:
$000000000050B225 line 720 of lazloggerbase.pas
$00000000004BCBDE line 1414 of lclproc.pas
$00000000004BAB0B line 859 of lclproc.pas
$00000000005E38A6 line 417 of gtk2lclintf.inc
$0000000000568A45 line 152 of include/lclintf.inc
$00000000004DB208 line 3622 of intfgraphics.pas
$000000000054A7BA line 554 of include/rasterimage.inc
$000000000045FDC3 line 86 of unit1.pas
$0000000000460258 line 144 of unit1.pas
TApplication.HandleException Failed to create handles
Stack trace:
$00000000004DB22E line 3623 of intfgraphics.pas
$000000000054A7BA line 554 of include/rasterimage.inc
$000000000045FDC3 line 86 of unit1.pas
$0000000000460258 line 144 of unit1.pas
$00000000006346A8 line 2724 of include/control.inc
$00000000006636E6 line 54 of include/buttoncontrol.inc
$0000000000663FD6 line 169 of include/buttons.inc
$00000000006635E9 line 20 of include/buttoncontrol.inc
$000000000042E411
$00000000006241C1 line 5341 of include/wincontrol.inc
$000000000070B585 line 112 of lclmessageglue.pas
$000000000071ADB2 line 2423 of gtk2wsstdctrls.pp

代码:

        procedure TForm1.ReadFromImage(var img: TRGBArray);
var px,py: integer;
row: pRGBTripleArray;
lazImage : TLazIntfImage;
rawImage: TRawImage;
begin
If OpenPictureDialog1.Execute then
begin
rawImage.Init;
rawImage.Description.Init_BPP24_B8G8R8_BIO_TTB(0,0);
rawImage.CreateData(false);

lazImage:=TLazIntfImage.Create(0,0);
lazImage.SetRawImage(rawImage);
lazImage.LoadFromFile(OpenPictureDialog1.FileName);
SetLength(img,lazImage.Width,lazImage.Height);

Image1.Picture.Bitmap.LoadFromIntfImage(lazImage);
lazImage.Free;
end;
end;

xwininfo 结果:

xwininfo: Window id: 0x1a0002d "RGB<->XYZ<->Lab"
Absolute upper-left X: 642
Absolute upper-left Y: 37
Relative upper-left X: 2
Relative upper-left Y: 0
Width: 636
Height: 1041
Depth: 24
Visual: 0x20
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0x22 (installed)
Bit Gravity State: NorthWestGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +642+37 -642+37 -642-2 +642-2
-geometry 636x1041+640-0

最佳答案

不知道为什么,考虑到 24 位窗口深度,但切换到 Init_BPP32_B8G8R8A8_M1_BIO_TTB();解决了问题。

关于linux - Lazarus BitsPerPixel 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32763521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com