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
  #1  
Antiguo 12-11-2009
cestradar cestradar is offline
Miembro
 
Registrado: ene 2008
Posts: 24
Poder: 0
cestradar Va por buen camino
Marca de agua en una banda específica

Hola, gracias anticipadas por cualquier ayuda

Estoy intentando colocar una marca de agua en un QRBand ligado a un QRGroup. El problema lo tengo en que no hay un evento definido en las bandas que se ejecute por cada ves que se genera, o por lo menos no se actualiza la propiedad .TOP y la marca de agua se imprime en el mismo sitio quedando solo una.

Quiero que dependiendo de un estatus de ese grupo se coloque una marca de agua, ahora solo cambio el color para diferenciarla del resto, pero me han solicitado que vea la posibilidad de hacer esto que intento, pero me he topado con ese detalle ¿cómo puedo variar el parámetro DestY en la función StretchDIBits y cómo automatizar la llamada de tal forma que puedan imprimirse tantas imágenes como se ocupen en su posición correcta?

El código de la marca de agua es como todos los que circulan por este y otros foros:

Código:
TRY

    bmp := TBitMap.Create;
    bmp.LoadFromFile(ExtractFilePath(Application.ExeName)+'no_autorizado.bmp');

    with QuickRep1.QRPrinter do
    begin
      Y := YPos(PaperLengthValue) div 6;
      X := XPos(PaperWidthValue) div 4;
      R := Rect(X, Y, X*3, Trunc(Y*1.5));
      Cnv:=Canvas;
    end;

    with bmp do
    begin
      GetDIBSizes(Handle, InfoSize, ImageSize);
      GetMem(Info, InfoSize);
      try
         Getmem(Image, ImageSize);
         try
            GetDIB(Handle, Palette, Info^,Image^);
            with Info^.bmiHeader do Begin
               StretchDIBits(Cnv.Handle, R.Left, R.Top,
                             R.Right - R.Left, R.Bottom - R.Top,
                             0, 0, biWidth, biHeight, Image,
                             Info^, DIB_RGB_COLORS, SRCAND );
            End;
         finally
            FreeMem(Image, ImageSize);
         end;
      finally
         FreeMem(Info, InfoSize);
      end;
    end;

  FINALLY
    bmp.free
  END;
Gracias!

PD. No se si esta pregunta ya este antes, he querido revisar las respuestas anteriores pero por alguna razón solo veo los temas nuevos, no he encontrado alguna nueva preferencia en mi panel de control para modificar esto.

Última edición por cestradar fecha: 12-11-2009 a las 19:16:57.
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
Texto en el agua vtdeleon Noticias 2 01-09-2006 14:18:00
Imprimir una página especifica Alexander Impresión 0 10-07-2006 16:07:21
Utilizar Unidad Especifica Jvilomar OOP 4 17-04-2006 15:55:47
Búsqueda muy específica en un string... JuanBCT Varios 15 02-05-2005 14:58:00
marca de agua davidgaldo Impresión 1 18-02-2004 12:47:28


La franja horaria es GMT +2. Ahora son las 00:58:43.


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