Rotacionar imagem Jpeg

Delphi

19/03/2008

Olá amigos, já procurei em todos os sites q conheço de programação em delphi e nada. encontrei como rotacionar mais é só bitmap, alguém sabe com rotacionar imagens em jpeg?
tô usando esse codigo pra rotacionar, mais como falei só funciona se for bitmap...

procedure TfrmPrincipal.btnRotaClick(Sender: TObject);
var
lbAuxiliar: TBitmap; // Aqui criamos um TBitmap auxiliar;
BackColor: TColor;
begin
if Assigned(img1.Picture.Bitmap) then
begin
// Obtendo a cor de fundo do bitmap:
BackColor := img1.Picture.Bitmap.TransparentColor and not $02000000;

lbAuxiliar := Rotacionar(img1.Picture.Bitmap, -90, BackColor);
try
lbAuxiliar.TransparentColor := BackColor;
lbAuxiliar.Transparent := img1.Picture.Bitmap.Transparent;
img1.Picture.Bitmap.Assign(lbAuxiliar);
finally
lbAuxiliar.Free;
end;
end;
end;


Nandobacker

Nandobacker

Curtidas 0

Respostas

Sady

Sady

19/03/2008

Eu fiz uma conversão de JPEG para BMP, girei o BMP, converti novamente para JPEG e atribui ao componente.

procedure TfrmVizualizaFoto.btnGirarFotoEClick(Sender: TObject);
var
X, Y: integer;
BMPorigem, BMPdestino : TBitmap;
JPEGfinal : TJPEGImage;
begin
BMPorigem := TBitmap.Create;
BMPdestino := TBitmap.Create;
JPEGfinal := TJPEGimage.Create;
BMPorigem.Assign(fImgFoto.Picture.Graphic);
BMPdestino.Width := BMPorigem.Height;
BMPdestino.Height := BMPorigem.Width;
for X := 0 to BMPorigem.Width do
for Y := 0 to BMPorigem.Height do
BMPdestino.Canvas.Pixels[Y, BMPorigem.Width - X] := BMPorigem.Canvas.Pixels
[X,Y];
JPEGfinal.Assign(BMPdestino);
fImgFoto.Picture.Assign(JPEGfinal);
end;
Não sei se ajuda, mas funciona :D
GOSTEI 0
POSTAR