將image1的圖形show到image2卻是沒有顏色 |
尚未結案
|
hct47
一般會員 發表:34 回覆:15 積分:9 註冊:2004-04-23 發送簡訊給我 |
dear all: 我把 bitmap1的每個pixel愈塞到bitmap2的每個pixel裡,然後用image2顯示出圖案,但不知為何無法把值塞到bitmap2的每個pixel裡,圖變成白色的,但是如果改用image1的pixel塞到image2的pixel就可以正常顯示了,為什麼呢?
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Image1: TImage; Image2: TImage; Button1: TButton; Button2: TButton; Memo1: TMemo; Memo2: TMemo; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } bitmap1:Tbitmap; bitmap2:Tbitmap; parray : array [1..100] of array [1..100] of integer; end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var i,j:integer; begin bitmap1:=tbitmap.create; bitmap1.LoadFromFile('C:\Red.bmp'); image1.Canvas.StretchDraw(Rect(0,0,100,100),bitmap1); for i :=1 to 100 do begin for j:=1 to 100 do begin //parray[i][j]:=image1.Canvas.Pixels[i,j]; parray[i][j]:=bitmap1.Canvas.Pixels[i,j]; memo1.Lines.Add(inttostr(parray[i][j])); //memo2.Lines.Add(inttostr(bitmap1.Canvas.Pixels[i,j])); end; end; bitmap1.Free; end; procedure TForm1.Button2Click(Sender: TObject); var i,j:integer; begin bitmap2:=Tbitmap.Create; for i:= 1 to 100 do begin for j:=1 to 100 do begin //bitmap2.Canvas.Pixels[i,j]:=parray[i][j]; image2.Canvas.Pixels[i,j]:=parray[i][j]; //memo2.Lines.Add(inttostr(parray[i][j])); end; end; image2.Canvas.StretchDraw(Rect(0,0,100,100),bitmap2); end; end. |
supman
尊榮會員 發表:29 回覆:770 積分:924 註冊:2002-04-22 發送簡訊給我 |
|
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |