Unter negativ verstehe ich, dass das Bild als Negativ gedruckt wird. Sprich alle Farben werden invertiert ausgedruckt.
Ich werde die Funktion ausprobieren und melde mich hier wieder. Danke.
Nachtrag:
Folgendes Zwischenergebnis:
1. Wenn ich die genannte "PrintBitmap" Routine verwende, dann werden meine abgerundeten Ecken in Rosa gefärbt.
2. Wenn ich dann auf drucken gehe, wird das Bild richtig gedruckt, aber mit rosa Ecken.
Das Bild wird vorher folgendermaßen mit den Runden Ecken gesetzt:
Delphi-Quellcode:
procedure DoItRound(var myImage: TImage; pixels: Integer);
var bmp_mask,
bmp_tmp : TBitmap;
const cl_trans_tmp = clWhite;
cl_trans = clFuchsia;
begin
bmp_mask := TBitmap.create;
bmp_tmp := TBitmap.create;
try
//load bitmap
bmp_tmp.Assign(myImage.picture.bitmap);
//resize mask
bmp_mask.PixelFormat := pf24bit;
bmp_tmp.PixelFormat := pf24bit;
bmp_mask.width := myImage.picture.bitmap.width;
bmp_mask.height := myImage.picture.bitmap.height;
//create the mask;
bmp_mask.canvas.brush.color := cl_trans;
bmp_mask.canvas.Pen.color := cl_trans;
bmp_mask.Canvas.FillRect(rect(0,0,bmp_mask.width,bmp_mask.height));
bmp_mask.canvas.brush.color := cl_trans_tmp;
bmp_mask.canvas.Pen.color := cl_trans_tmp;
bmp_mask.canvas.RoundRect(0,0,bmp_mask.width,bmp_mask.height, pixels,pixels);
bmp_mask.TransparentColor := cl_trans_tmp;
bmp_mask.Transparent := true;
//merging the mask with original bitmap
bmp_tmp.Canvas.Draw(0,0,bmp_mask);
bmp_tmp.TransparentColor := cl_trans;
bmp_tmp.Transparent := true;
//Draw masked bitmap
BitBlt(myImage.Canvas.Handle, 0, 0, myImage.picture.bitmap.width, myImage.picture.bitmap.height, bmp_tmp.canvas.Handle, 0, 0, srcCopy);
myImage.canvas.draw(0,0,bmp_tmp);
myImage.Picture.Bitmap.TransparentColor := cl_trans;
myImage.Transparent := true;
finally
//free Objects
bmp_tmp.free;
bmp_mask.free;
end;
end;
Wie gesagt. Die Routine funktioniert an sich sehr gut, um die runden Ecken in die Bilder zu bekommen. Nur der eine Drucker wehrt sich dagegen. Wenn ich die StrechDraw anwende, werden die Ecken transparent gezeichnet, aber das Bild als Negativ gedruckt. Verwende ich die genannte PrintBitmap Routine, dann wird das Bild richtig gedruckt, die Ecken aber rosa gezeichnet. Was ein Teufelskreis......!!!!
Ich hoffe nur, dass es da einen Ausweg gibt...
Gruß, Moony
[edit=SirThornberry]Beiträge zusammengeführt - nächstes mal bitte die Edit-Funktion verwenden - Mfg, SirThornberry[/edit]
[edit=sakura] Zeilenumbrüche ermöglicht... Mfg, sakura[/edit]