Ver Mensaje Individual
  #1  
Antiguo 19-01-2015
emeritos emeritos is offline
Miembro
 
Registrado: may 2003
Posts: 307
Reputación: 22
emeritos Va por buen camino
Timagen aumentar con jpg

Hola Dilferos.

Lo que estoy intentando hacer es aumentar la imagen de un Timagen. Si es bmp funciona bien pero si es un jpg me sale este error:
"programa exception class EInvalidOperation with message 'Can only modify an image if it contains a bitmap".

El proceso se ejecuta en el evento del Timagen OnMouseMove. ¿ Que me esta fallando con el jpg?



Código Delphi [-]
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, MemDS, DBAccess, MyAccess, DBCtrls, Grids, DBGrids, CRGrid,
  Jpeg, ExtCtrls, StdCtrls, FileCtrl, ComCtrls, Buttons, GraphicEx,
  EDBImage;
.
.
.

procedure Tfrmvehiculos.imgMainMouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
var
  Seleccion: TRect;
begin
    pbZoom.Visible := True;
    tbZoom.Visible := True;
    if ssLeft in Shift
       then
          begin
              Seleccion.Left:= X - 50;
              Seleccion.Right:= X + 50;
              Seleccion.Top:= Y - 50;
              Seleccion.Bottom:= Y + 50;
              Copiar(imgMain.Canvas.Handle,pbZoom.Canvas.Handle,Seleccion,tbZoom.Position);
          end;
end;

procedure Copiar(SrcDC, DestDc: HDC; SrcRect: TRect; Zoom: Integer);
var
  Ancho, Alto: Integer;
begin
  Ancho:= SrcRect.Right - SrcRect.Left;
  Alto:= SrcRect.Bottom - SrcRect.Top;
  StretchBlt(DestDC, 0, 0, Ancho * Zoom, Alto * Zoom, SrcDC, SrcRect.Left,SrcRect.Top, Ancho, Alto, SRCCOPY);
end;
Responder Con Cita