Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-11-2007
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
Rotar imagen jpg

Hola a todos, espero me puedan ayudar, he estado buscando por los foros pero no he encontrado nada que me pueda ayudar, antes que nada decir que trabajo con delphi 2005.
Bueno, el caso es tengo un formulario, hay un TImage y en ese TImage cargo un archivo .jpg. Lo que quiero saber es si existe alguna forma de poder rotar esta imagen, 90º, 180º,etc. si alguien me puede ayudar le estaré muy agredecido, y si saben con seguridad que esto no se puede hacer también agradecería que me lo dijeran para no darle más vueltas al asunto.
Muchas gracias por anticipado
Responder Con Cita
  #2  
Antiguo 07-11-2007
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Poder: 22
ArdiIIa Va por buen camino
Cita:
Empezado por ElDioni Ver Mensaje
Hola a todos, espero me puedan ayudar, he estado buscando por los foros pero no he encontrado nada que me pueda ayudar
Viste esto

y Esto otro

Seguramente la piedra filosofal de los gráficos
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO
Responder Con Cita
  #3  
Antiguo 08-11-2007
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
yo ya habia probado los trucos de estos hilos a los que me haces referencia y efectivamente cuando cargo un bitmap si me lo gira y el codigo funciona y tal, pero cuando lo que cargo es un archivo jpg el dibujo desaparece, y hasta ahí he llegado, espero me puedan ayudar y gracias por tu respuesta ardilla.
Responder Con Cita
  #4  
Antiguo 08-11-2007
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Poder: 22
ArdiIIa Va por buen camino
En un TImage hay que distinguir el Picture si es bmp u otro tipo dado que el tratamiento es diferente.
En todo caso tú quieres rotar un jpg dentro de un TImage pues prueba con este código.
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
Var
Bmp1,bmp2 : TBitmap;
x,y : integer;
begin

Bmp1 := TBitmap.Create;
Bmp1.Assign(Image1.Picture.Graphic);

Bmp2 := TBitmap.Create;
Bmp2.Width:=Bmp1.height;
Bmp2.Height := Bmp2.width;

   for x:=0 to Bmp1.Height -1 do
   begin
     for y:=0 to Bmp1.Width -1 do
     begin
       Bmp2.Canvas.Pixels[x,(Bmp1.Height -1) - y]:= Bmp1.Canvas.Pixels[y,x];
     end;
   end;

Image1.Picture.Graphic.Assign(Bmp2);

Image1.Refresh;

end;

El resultado final, será cosa tuya.
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO
Responder Con Cita
  #5  
Antiguo 08-11-2007
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
Muchas gracias ardilla por tu tiempo, efectivamente he probado el codigo que me propones y me gira el jpg, no se lo que habia hecho antes, con tu ayuda ya me las arreglo para adaptarlo a lo que necesito, de nuevo gracias me ha sido de gran ayuda.
Responder Con Cita
  #6  
Antiguo 08-11-2007
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
Creo que he hablado de más antes de avanzar.
Tengo puesto el TImage la propiedad proportional a true para que si la imagen es grande o pequeña se cargue siempre dentro de unos límites. Pero al hacerla rotar pierde esta propiedad y aunque la vuelva a pone a true no funciona, tampoco funciona el strech ya que la imagen sale cortada. alguna idea.
Responder Con Cita
  #7  
Antiguo 09-11-2007
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
Al final lo que he hecho es ponero el autosize del TImage a true, el proportional a false, he igualado el Width y el Heigth del bmp1 al del TImage, realizo el codigo que me facilito ardilla y luego vuelvo a ponero el autosize a false y el proportional a true, de esta forma consigo que no me recorte el dibujo, ahora lo que que pasa es que cuando pongo
Código Delphi [-]
form25.print
me salta un error diciendo que "is not a valid bmp image", le daré unas cuantas vueltas más a ver si descubro algo, mientras tanto si alguien me puede ayudar, pues como siempre gracias.
Responder Con Cita
Respuesta



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
Rotar Shape dicatek Gráficos 3 18-07-2006 23:33:37
rotar una imagen sin parar jarscuba Gráficos 4 14-03-2005 09:51:31
Rotar una imagen zuriel_zrf Gráficos 2 29-12-2003 19:37:53
Rotar Graficos cesarjbf Gráficos 1 01-09-2003 16:08:42
Escalar y Rotar Vectores esquerda21 Gráficos 3 20-05-2003 17:02:06


La franja horaria es GMT +2. Ahora son las 08:13:08.


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