Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #5  
Antiguo 19-09-2023
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.735
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Para crear la imagen QR utilizo el componente TDelphiZXingQRCode
Lo puedes descargar en https://github.com/foxitsoftware/DelphiZXingQRCode

Luego hice un procedimiento que me devuelve un TBitmap del mismo

Código Delphi [-]
procedure CrearCodigoQR(Bitmap: TBitmap; s: string; Factor: integer = 1);
var
  QRCode : TDelphiZXingQRCode;
  Row, Column : integer;
begin
  /// Pinta un codigo QR en el BITMAP.
  /// Modificara el tamaño del BITMAP para que entre el codigo QR.
  /// Factor es el tamaño de cada punto (1 = 1 pixel, 2 son puntos de 2x2 pixels, etc.)

  QRCode := TDelphiZXingQRCode.Create;
  try
     // Configuracion del codigo QR (Alfa o numerico automatico, 4 puntos de borde).
     QRCode.Data := s;
     QRCode.Encoding := qrAuto;
     QRCode.QuietZone := 4;

     // Modifico tamaño del Bitmap
     Bitmap.Height := QRCode.Rows * Factor;
     Bitmap.Width := QRCode.Columns * Factor;

     // Recorro el codigo QR y pinto los puntos
     for Row := 0 to QRCode.Rows - 1 do
     begin
        for Column := 0 to QRCode.Columns - 1 do
        begin
           if (QRCode.IsBlack[Row, Column]) then
              Bitmap.Canvas.Brush.Color := clBlack
           else
              Bitmap.Canvas.Brush.Color := clWhite;

           // Cada punto se corresponderá a un cuadrado de (Factor x Factor) pixeles
           Bitmap.Canvas.FillRect(Classes.Rect((Factor * Column), (Factor * Row), (Factor * Column) + Factor, (Factor * Row) + Factor));
        end;
     end;
  finally
     QRCode.Free;
  end;

Y lo utilizo para la imagen que voy a imprimir.
Código Delphi [-]
        [...]
        Imagen := TImage.Create(nil);
        try
           CrearCodigoQR(Imagen.Picture.Bitmap, xCabecera.FieldByName('SFV_CODIGO_RESPUESTA_RAPIDA').AsString, 3);
           TfrPictureView(View).Picture.Assign(Imagen.Picture);
        finally
           Imagen.Free;
        end;
        [...]
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Factura Electronica - Afip Argentina Joe_Balda Varios 30 30-01-2021 04:10:34
Constancia de Inscripcion AFIP argentina adripugliesso Varios 1 13-07-2017 21:00:11
AFIP Argentina: Consultas al padron de contribuyentes AgustinOrtu Bibliotecas de código fuente 18 28-06-2017 03:04:38
Factura Electrónica AFIP Argentina SergioFrey Noticias 2 19-05-2017 21:02:03
Ayuda Web Service AFIP Argentina patriciojgf Delphi para la web 1 04-11-2014 17:46:34


La franja horaria es GMT +2. Ahora son las 05:26:34.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi