主题:难题
我写了一段'删除相同颜色同时换成其他颜色'的代码但是编译时却提醒'Tbitmap is now vaild' 请各位大哥大姐 帮帮忙,看看那里错了,我在这里先谢谢大家了;
var
bt:tbitmap;
col,row:integer;
begin
bt:=tbitmap.create;
bt.loadformfile('这里是导入的图片');
For row:= 0 to bt.height do
begin
for col:= 0 to bt.width do
begin
//在这里HDC我试过了bt.handle和bt.canvas.handle.但是都没用.
if getpixel(bt.canvas.handle,col,row)=rgb(0,0,0) then //如果是黑色就替换成白色;
setpixel(bt.canvas.handle,col,row,clwhite) ;
end;
end;
canvas.draw(0,0,bt);
bt.free;
end;
在这里我猜想过是否要先清除掉原有的象素值,再用setpixel填充,但是我不知道怎么删除,各位大哥大姐,知道的就教教小弟.
var
bt:tbitmap;
col,row:integer;
begin
bt:=tbitmap.create;
bt.loadformfile('这里是导入的图片');
For row:= 0 to bt.height do
begin
for col:= 0 to bt.width do
begin
//在这里HDC我试过了bt.handle和bt.canvas.handle.但是都没用.
if getpixel(bt.canvas.handle,col,row)=rgb(0,0,0) then //如果是黑色就替换成白色;
setpixel(bt.canvas.handle,col,row,clwhite) ;
end;
end;
canvas.draw(0,0,bt);
bt.free;
end;
在这里我猜想过是否要先清除掉原有的象素值,再用setpixel填充,但是我不知道怎么删除,各位大哥大姐,知道的就教教小弟.