QRImage imprime tudo preto
Caros colegas, estou c/ um problemão aqui.
Eu tenho um relatório onde eu desenho em um QRImage usando Canvas o mapa de um salão de festas com a disposição das cadeiras.
O problema é que após o 2° ou 3° preview ele mostra tudo preto.
Aqui está uma parte do código
Como eu resolvo esse problema?
Desde já agradeço pela atenção.[/code]
Eu tenho um relatório onde eu desenho em um QRImage usando Canvas o mapa de um salão de festas com a disposição das cadeiras.
O problema é que após o 2° ou 3° preview ele mostra tudo preto.
Aqui está uma parte do código
with QRImage.Canvas do begin // inicializar mapmode SetMapMode(Handle, MM_ANISOTROPIC); SetWindowExtEx(Handle, 820, 820, nil); SetViewportExtEx(Handle, 100, 100, nil); SetWindowOrgEx(Handle, 0, 0, nil); SetViewportOrgEx(Handle, 0, 0, nil); SetViewportOrgEx(Handle, QRImage.Left, QRImage.Top, nil); // Desenha o evento no QRImage mEventos.DesenharEvento(QRImage.Canvas); Font.Style := [fsBold]; s := ´Andar ´ + cdsReport.FieldByName(´ANDAR´).AsString; r := ClipRect; DrawText(Handle, PChar(s), Length(s), r, DT_CENTER or DT_TOP or DT_SINGLELINE); end;
Como eu resolvo esse problema?
Desde já agradeço pela atenção.[/code]
Rogick
Curtidas 0
Respostas
Rogick
04/07/2006
Poxa! Ninguém pode ajudar? :cry:
GOSTEI 0
Maurício
04/07/2006
Poxa! Ninguém pode ajudar? :cry:
Você acredita que o meu só em alguns clientes sai preto. Acho que vou mandar formatar o computador do cliente. rs rs rs
GOSTEI 0
Arthur Heinrich
04/07/2006
Eu nunca usei esse QRImage. Mas já fiz experimentos para impressão de imagem diretamente no canvas da impressora.
Nem todos os comandos que plotam imagens funcionaram comigo.
Tive que fazer algumas gambiarras.
Nem todos os comandos que plotam imagens funcionaram comigo.
Tive que fazer algumas gambiarras.
procedure PrintBitmap(Bitmap:TBitmap; Cnv:TCanvas; X, Y, pWidth, pHeight: Integer); var Info : PBitmapInfo; InfoSize : dword; Image : Pointer; ImageSize: dword; begin If (pWidth < 1) or (pHeight < 1) then begin pWidth := Bitmap.Width; pHeight := Bitmap.Height; end; with Bitmap do begin GetDIBSizes(Handle, InfoSize, ImageSize); Info := AllocMem(InfoSize); try Image := AllocMem(ImageSize); try GetDIB(Handle, Palette, Info^, Image^); with Info^.bmiHeader do StretchDIBits(Cnv.Handle, X, Y, pWidth, pHeight, 0, 0, biWidth, biHeight, Image, Info^, DIB_RGB_COLORS, SRCCOPY) finally FreeMem(Image, ImageSize); end; finally FreeMem(Info, InfoSize); end; end; end;
GOSTEI 0