gpt4 book ai didi

image - 将位图从资源文件加载到图像

转载 作者:行者123 更新时间:2023-12-03 19:04:44 26 4
gpt4 key购买 nike

如何从资源文件加载图像bmp并将其加载到image1.Picture?我尝试了这个:

{$R resource.res}
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
BitMap1 : TBitMap;
begin
BitMap1 := TBitMap.Create;
try
BitMap1.LoadFromResourceName(HInstance,'down');
Image1.Picture(BitMap1);
finally
BitMap1.Free;
end;
end;


但不起作用。谢谢!



我创建了一个文件。 rc:

DOWN BMP DOWN.BMP 


我用brcc32.exe进行了编译:

brcc32.exe resource.rc


我实现了资源:

{$R resource.res}


但找不到文件bmp。



它不起作用,总是出现错误,但是我发现了另一个代码:

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
Image1.Picture.Bitmap.Handle := LoadBitmap(hInstance, 'DOWN');
end;


但是当我单击图像消失时,为什么呢?谢谢

这是代码:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, XPMan, ExtCtrls;

type
TForm1 = class(TForm)
XPManifest1: TXPManifest;
Image1: TImage;
procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}
{$R RESOURCE.RES}

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
Image1.Picture.Bitmap.Handle := LoadBitmap(hInstance,'DOWN');
end;

end.

最佳答案

首先,您必须正确创建资源。下面的示例(通用Delphi,因为您未指定版本)。

文件:Resource.rc(可怕的名称,BTW和可怕的资源名称)

DOWN BITMAP DOWN.BMP


然后将文件包含在代码中,以供编译器处理:

{$R resource.res resource.rc}

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
BitMap1 : TBitMap;
begin
BitMap1 := TBitMap.Create;
try
BitMap1.LoadFromResourceName(HInstance,'DOWN');
Image1.Picture.Assign(Bitmap1);;
finally
BitMap1.Free;
end;
end;


如果您的Delphi版本不支持上述 {$R }指令,则只需删除 resource.rc部分,然后首先从项目文件夹中的命令提示符下编译资源:

brcc32 resource.rc

关于image - 将位图从资源文件加载到图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10940447/

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