彻底崩溃...请教读取图片资源的问题(50分)

  • 主题发起人 主题发起人 Nj
  • 开始时间 开始时间
N

Nj

Unregistered / Unconfirmed
GUEST, unregistred user!
我用的是resource builderV2.5
在bitmap项里加载了 声音.bmp
在RCData项里加载了 牌.jpg (bitmap项里不支持jpg格式的)

在程序里:
image1.Picture.Bitmap.Handle:=loadbitmap(Hinstance,'牌.jpg')
speedbutton3.Glyph.Handle:=loadbitmap(Hinstance,'声音.bmp')

编译运行都没有报错,但根本没有显示出来图片啊.....请教大侠了.....
 
拜托,帮帮忙?
资源文件已经编译到程序里去了,以前加载过mp3文件成功了,现在图片就不行了..

大侠们都吃饭去了?好,我也去吃,一会儿再来看
 
resource builderV2.5 在制作bmp的时候,名字是“声音.bmp”嘛?不是文件名
 
给你个例子:注意“资源名称”和资源文件名的区别:
下面示例程序说明了图标、光标和位图资源的使用方法,在资源文件 TEST.RES中定义了两个光标(cur1和cur2)、两个位图(bmp1和bmp2)以及两个图标(in1和in2),在程序中对这些资源都进行了调用。并利用定时器使位图和图标的显示有类似动画的感觉。当鼠标移动到Ladel1上时,光标会变成你定义的第一个光标形状;当单击Button1后,再把光标移到Ladel1上时,光标会变成你定义的第二个光标形状。

unit testtes;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Button1: TButton;
Image1: TImage;
Timer1: TTimer;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
bmp12 : Integer;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
{$R TEST.RES}
const
crMycur1 = 1;
crMycur2 = 2;
procedure TForm1.FormCreate(Sender: TObject);
var
bmp : TBitmap;
ico : TIcon;
begin
Screen.Cursors[crMycur1] := LoadCursor(Hinstance,'CUR1');
Screen.Cursors[crMycur2] := LoadCursor(Hinstance,'CUR2');
Label1.Cursor := crMycur1;
bmp := TBitmap.Create ;
bmp.Handle := LoadBitmap(Hinstance,'BMP1');
Image1.Width := bmp.Width + 10;
Image1.Height := bmp.Height + 10;
Image1.Canvas.Draw(4,8,bmp);
bmp12 := 1;
ico := TIcon.Create ;
ico.Handle := LoadIcon(Hinstance,'IN1');
Icon := ico;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Cursor := crMycur2;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
bmp:TBitmap;
ico : TIcon;
begin
bmp := TBitmap.Create ;
ico := TIcon.Create ;
if bmp12=1 then bmp12 := 2 else bmp12 :=1;
bmp.Handle := LoadBitmap(Hinstance,PChar('BMP'+IntToStr(bmp12)));
ico.Handle := LoadIcon(Hinstance,PChar('IN'+IntToStr(bmp12)));
Image1.Width := bmp.Width + 10;
Image1.Height := bmp.Height + 10;
Image1.Canvas.Draw(4,6,bmp);
Icon := ico;
end;
end.
 
xiammy 我不是用resource builder制作的bmp,而是已经作好的bmp加载进去的,已经作好的bmp文件名为:声音.bmp

正在研究代码...

不知道jpg格式的是否也是这样加载?
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
791
import
I
S
回复
0
查看
951
SUNSTONE的Delphi笔记
S
后退
顶部