schade
also gibts solche printsuiten nicht, ok.
nunja, wenns jetz mit dem kontrast nicht klappt, dann gebe ich auch auf, aber hier mal eine von mir angepasste procedur, die ich hier gefunden habe:
Delphi-Quellcode:
function IntToByte(i:Integer):Byte;
asm
MOV EAX,i
CMP EAX,254
JG @SETHI
CMP EAX,1
JL @SETLO
RET
@SETHI:
MOV EAX,255
RET
@SETLO:
MOV EAX,0
end;
Delphi-Quellcode:
procedure Contrast(var Bitmap: tbitmap32; Amount: Integer);
var
p0:PColor32EntryArray;
rg,gg,bg,r,g,b,x,y: Integer;
begin
for y:=0 to Bitmap.Height-1 do
begin
PColor32Array(p0):=Bitmap.scanline[y];
for x:=0 to Bitmap.Width-1 do
begin
r:=p0[x].R;
g:=p0[x].G;
b:=p0[x].B;
rg:=(Abs(127-r)*Amount)div 255;
gg:=(Abs(127-g)*Amount)div 255;
bg:=(Abs(127-b)*Amount)div 255;
if r>127 then r:=r+rg else r:=r-rg;
if g>127 then g:=g+gg else g:=g-gg;
if b>127 then b:=b+bg else b:=b-bg;
p0[x].R :=IntToByte(r);
p0[x].G :=IntToByte(g);
p0[x].B :=IntToByte(b);
end;
end;
end;
im einzelschritt-verfahren werden die werte bei amount = 10 ja nur ganz leicht verändert, und die werden auch zum schluss korrekt übergeben, aber ich erhalte ein schwarzes bild, woran liegt das? eine contrast-procedure habich in der gr32lib nicht gefunden.