procedure GetRGB(Color: TColor; var R, G, B: Byte);
begin
R := Lo(Color);
G := Lo(Color shr 8);
B := Lo((Color shr 8) shr 8);
end;
function RGBToColor(R,G,B:Byte): TColor;
begin
Result:=B Shl 16 Or
G Shl 8 Or
R;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
var i,j:integer;r,g,b:byte;
begin
for i:=1 to Image1.Width do
for j:=1 to Image1.Height do
begin
GetRGB(Image1.Canvas.Pixels[i,j],r,g,b);
r:=(round(255*(255/(r+1))))mod 255;
g:=(round(255*(255/(g+1))))mod 255;
b:=(round(255*(225/(b+1))))mod 255;
Image1.Canvas.Pixels[i,j]:=RGBToColor(r,g,b);
end;
end;
PhotoToSketch
Помогите пожалуйста реализовать эффект,который преобразовывал бы фотографию в рисунок нарисованный карандашом
Алгоритм примерно таков:
Пройтись по пикселям и смешать их с белым цветом.чем темнее пиксель, тем меньше он смешивается с белым
С уважением
Насколько я понял, предлагается алгоритм увеличения контрастности. Какое он имеет отношение к карандашному рисунку?
Мне нужно сделать эффект который превращал бы фотку в нарисованный карандашом рисунок.
С уважением
Если же речь об имитации, то сперва надо придумать алгоритм, который давал бы похожий эффект. В твоем сообщении такого алгоритма не приведено, посоветовать тебе что-нибудь в качестве алгоритма ты не просишь, так чего же ты, в конце концов, хочешь?