Форум: "Начинающим";
Текущий архив: 2008.10.19;
Скачать: [xml.tar.bz2];
ВнизЧерно-белая печать на цветном принтере Найти похожие ветки
← →
mefodiy (2008-09-11 14:03) [0]Нужно печатать форму. Делаю так
Printer.Orientation := poLandscape;
Form.Print;
Все нормально печатется. Но нужно печатать не в цвете на цветном принтере.
Каким свойством Printer это можно сделать?
Спасибо.
← →
Vlad Oshin © (2008-09-11 14:23) [1]там где-то devicemodeA описана, можно попробовать ее члены поменять в комбинациях всяких
← →
Vlad Oshin © (2008-09-11 14:36) [2]еще идея достучаться до Printer.Canvas
← →
clickmaker © (2008-09-11 15:11) [3]а в диалоге настройки принтера это не поменять?
← →
Vlad Oshin © (2008-09-11 16:00) [4]вообщем, идея такая, но что-то не печатается canvas правильно, хотя и копируется(image2 для проверки), надо поэкспериментировать вообщем
procedure TForm1.Button1Click(Sender: TObject);
var
a,d:Trect;
w,h:integer;
r,g,b,Color2:byte;
begin
a:=Rect(0,0,100,100);
d:=Rect(0,0,100,100);
image1.Canvas.CopyRect(a, form1.Canvas, d);
for h := 1 to image1.Picture.Bitmap.Height-1 do
begin
for w := 1 to image1.Picture.Bitmap.Width-1 do
begin
Color := ColorToRGB(image1.Canvas.Pixels[w,h]);
r := GetRValue(Color);
g := GetGValue(Color);
b := GetBValue(Color);
Color2 := (r + g + b) div 3;
image1.Canvas.Pixels[w,h] := RGB(Color2,Color2,Color2);
end;
end;
// Printer.Orientation := poLandscape;
printer.BeginDoc;
printer.Canvas.CopyRect(a,image1.Canvas,d);
//printer.Canvas.Lock;
Printer.Canvas.Textout(10, 10, "TEST");
GetDeviceCaps(Printer.Canvas.Handle, LOGPIXELSY); //RASTERCAPS
printer.EndDoc;
image2.Canvas.CopyRect(a,image1.Canvas,d);
image1.Canvas.Textout(10, 10, "TEST");
image1.Picture.SaveToFile("c:\1.bmp");
end;
← →
Правильный$Вася (2008-09-11 16:15) [5]
> Vlad Oshin © (11.09.08 16:00) [4]
зачем все эти изобретения?Monochrome property (TBitmap)
← →
Vlad Oshin © (2008-09-11 16:26) [6]
> Правильный$Вася (11.09.08 16:15) [5]
потому что фигня получается
← →
mefodiy (2008-09-12 08:03) [7]Попробовал
SetPrinter(ADevice, ADriver, APort: PChar; ADeviceMode: THandle);
но ничего не получилось.
Честно говоря, не думал, что это так сложно.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.10.19;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c