timage的图像问题? |
答題得分者是:ha0009
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
|
qoo1234
版主 發表:256 回覆:1167 積分:659 註冊:2003-02-24 發送簡訊給我 |
|
ha0009
版主 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
你好:
1、如何将image1中的图像直接传给image2?
同 qoo1234 所說的。 2、为什么image1中存储的图像与image2中的图像格式不一样的时候,通过流传送会出错?
不懂你的意思,煩將你的 Source 貼上。 3、怎么识别timage中是否有图像及储存的图像格式?
image1.picture = nil 表示無圖像。
所有圖形物間皆繼承自 TGraphic 物件,如果想要判斷是否是 BMP 檔可 if (image1.picture.griphic is TBitmap) then .... 4、如果用剪贴板传送图像该怎么做?
Clipbrd.Clipboard 函式可以使用剪贴板的功能
Clipboard.Assign (image1.picture); // image1貼到剪贴板上
image1.Picture.Assign(Clipboard); // 剪贴板貼到image1上
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
多谢两位的解答,不过还请问ha0009 兄: 2、source
var
tmpstream:tmemorystream;
begin
tmpstream:=tmemorystream.Create ;
image1.Picture.Graphic.SaveToStream(tmpstream);
tmpstream.Position :=0;
image3.Picture.Graphic.LoadFromStream(tmpstream);
tmpstream.Free;
end; 3、
image1.picture = nil ,是可以清除图像;但是不可以比较如:
image1 本来就没有图像,也从来没有向它传送过图像,所以我想下面的程式应该为true;但是实际是false;不知道为什么?
if image1.picture = nil then ...
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
|
ha0009
版主 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
你好: 2、为什么image1中存储的图像与image2中的图像格式不一样的时候,通过流传送会出错?
懂你的意思了,每種圖形格式有自己的解析方式。你如果將 TBitmap 的圖形資料強制傳給 TMetafile
當然會發生錯誤。所以你可以使用 image1.picture = image2.picture 讓 picture 幫你複製 TGriphic 物件 3、怎么识别timage中是否有图像及储存的图像格式?
抱歉弄錯了,該使用 if (image1.picture.graphic = nil) then
|
ha0009
版主 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
你好:
delphi 好像不支援 gif 吧 (D7 後我不知道),請參考下面的討論 可有在Delphi6內使用gif圖檔的元件?
http://delphi.ktop.com.tw/topic.php?topic_id=31405
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
|
ha0009
版主 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |