請問如何將圖檔包含在程式碼中? |
答題得分者是:wameng
|
ak06407
一般會員 發表:7 回覆:9 積分:8 註冊:2003-07-10 發送簡訊給我 |
|
richtop
資深會員 發表:122 回覆:646 積分:468 註冊:2003-06-10 發送簡訊給我 |
|
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
寫一個資源列表文件(*.rc)列出圖片及相應資源名稱
例如: ABC.rc ---> (可以建立純文字檔案後,在修改副檔名)
內容:
.....
A1 BITMAP "A1.BMP"
A2 BITMAP "A2.BMP"
A3 BITMAP "A3.BMP"
.....
用BRCC32.EXE將其編譯為res文件
在單元文件中加入
{$R *.dfm}
{$R abc.res}
使用win api loadbitmap從資源中裝入點陣圖 var
Form1: TForm1; implementation {$R *.DFM} {$R ABC.res} //必須和專案檔放在同一目錄下。 procedure TForm1.FormCreate(Sender: TObject);
begin
bmp := TBitmap.Create;
bmp.LoadFromResourceName(HInstance, 'A1');
Image1.Picture.Bitmap := bmp;
end; procedure TForm1.FormDestroy(Sender: TObject);
begin
bmp.Free;
end;
|
ak06407
一般會員 發表:7 回覆:9 積分:8 註冊:2003-07-10 發送簡訊給我 |
|
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
ak06407
一般會員 發表:7 回覆:9 積分:8 註冊:2003-07-10 發送簡訊給我 |
|
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
ak06407
一般會員 發表:7 回覆:9 積分:8 註冊:2003-07-10 發送簡訊給我 |
|
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
以下是以 JPEG 的圖檔示範。
圖檔取得非常簡單。
可利用Delphi 用Image 先載入該圖,在表單上按下Alt F12
就可以知道圖檔文字格式。
不過要注意!Delphi 會加一些識別進去。
可能還是要用UltraEdit-32 Text Editor 看一下! Uses jpeg; const
ImageStr = 'FFD8FFE000104A46494600010101000000'
'000000FFDB0043000C08090A09070C0A0A0A0D0D0C0E121E1312101012241A1B'
'151E2B262D2C2A2629292F35443A2F32403329293B513C4046494C4D4C2E3954'
'5A534A59444B4C49FFDB0043010D0D0D12101223131323493129314949494949'
'4949494949494949494949494949494949494949494949494949494949494949'
'49494949494949494949494949FFC20011080010001003012200021101031101'
'FFC4001500010100000000000000000000000000000403FFC400150101010000'
'0000000000000000000000000004FFDA000C0301000210031000000151EE54BF'
'FFC4001A100003000301000000000000000000000001020304131424FFDA0008'
'0101000105026F405AE8761CE272390FFFC40017110003010000000000000000'
'000000000000021112FFDA0008010301013F01ADB3FFC4001A11000202030000'
'0000000000000000000001020003111271FFDA0008010201013F015AF03673C9'
'FFC4001D100001040203000000000000000000000002000111211213324142FF'
'DA0008010100063F02DA4F21D0A170961F42B021A9A255C66DD7FFC4001C1001'
'000202030100000000000000000000010011215141718131FFDA000801010001'
'3F21BDAD9BD271EC1776287226FB97AEAE57C4E3D8702E8301DEE7FFDA000C03'
'0100020003000000107FFFC40018110002030000000000000000000000000000'
'01213171FFDA0008010301013F108C92DB3FFFC4001A11000202030000000000'
'00000000000000012111310051C1FFDA0008010201013F109C34B41A76076A33'
'FFC4001B10010101000301010000000000000000000111210031416151FFDA00'
'08010100013F1035DC0703531666D77B41939698F631A8173F0FC3CB52E2EEC7'
'0816423133D4CDE49E79E012CE98486FD86F3FFFD9'; procedure TForm1.FormCreate(Sender: TObject);
var
AStream :TMemoryStream;
i:integer;
AByte : Byte;
JPEGImage :TJPEGImage;
begin
AStream :=TMemoryStream.Create;
Try
AStream.Position := 0;
For I:=1 to (Length(ImageStr) Div 2) do
begin
AByte := BYTE(Strtoint('$' Copy(ImageStr,I*2-1,2)));
AStream.Write(AByte,1);
end;
AStream.Position := 0; JPEGImage :=TJPEGImage.Create;
Try
JPEGImage.LoadFromStream(AStream);
Image1.Picture.Assign(JPEGImage);
finally
JPEGImage.Free;
end;
finally
AStream.Free;
end;
end; 發表人 - wameng 於 2004/09/22 13:27:33
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |