Ver Mensaje Individual
  #1  
Antiguo 12-11-2009
cestradar cestradar is offline
Miembro
 
Registrado: ene 2008
Posts: 24
Reputación: 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