PDA

View Full Version : bitmap image



tanhayetanha
یک شنبه 26 خرداد 1387, 18:24 عصر
با سلام .
من یک image دارم که می خوام رنگش رو عوض کنم . می خواستم بدونم چه طوری می شه این کار رو انجام بدم. البته یک کد نوشتم ولی کار نمی کنه .

:= Image.picther.bitmap.canvace.brush.color
clred
کسی می تونه کمکم کنه .:متفکر:

nassim_20
یک شنبه 26 خرداد 1387, 18:52 عصر
این کد تصویر رو نگاتیو می کنه ببین شاید بدردت بخورده

***********************
function navigate(pixel:tcolor):tcolor;
var
r,g,b:byte;
begin
r:=getrvalue(pixel);
r:=255-r;
g:=getgvalue(pixel);
g:=255-g;
b:=getbvalue(pixel);
b:=255-b;
result:=rgb(r,g,b);
end;

سورس برنامه:
**********************
procedure TForm1.Button1Click(Sender: TObject);
var
bmp:tbitmap;
fname:string;
x,y:integer;
begin
if openpicturedialog1.Execute then
fname:=openpicturedialog1.FileName
else
exit;
bmp:=tbitmap.Create;
bmp.LoadFromFile(fname);
for x:=0 to bmp.Width-1 do
for y:=0 to bmp.Height do
bmp.Canvas.Pixels[x,y]:=navigate(bmp.Canvas.Pixels[x,y]);
image1.Picture.Bitmap:=bmp;
image1.Repaint;
bmp.Free;

end;