QRImage imprime tudo preto
04/07/2006
0
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
Curtir tópico
+ 0
Responder
Posts
07/03/2024
Maurício
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
Responder
08/03/2024
Arthur Heinrich
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;
Responder
Clique aqui para fazer login e interagir na Comunidade :)