FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Crear un thumbnail rapido
Hola buenas,
Tengo una imagen en un fichero, una imagen grande, y la quiero convertir a una imagen pequeña (a una escala de como maximo 70 pixeles) para luego grabarla a jpg. Para ello he probado varias formas de conseguirlo pero todas me parecen muy lentas...y cuano veia una posible opcion rapida no me deja, supongo q sera porque habra propiedades read only o hare algo mal o no se...he probado con componentes tipo jpeg,bmp,imageenproc,tiebitmap...... no se bien como hacerlo, pegare un poco de codigo: var scale: Integer; jpg: TJpeg; iebmp: tIEBitmap; //cargo la imagen jpg := TJpegImage.Create; jpg.LoadFromFile(filename); //simplemente busco la escala para dimensionar, poner la anchura o la altura a 70, y la otra en relacion. if jpg.Height > jpg.Width then begin scale := 70 / jpg.Height; end else begin scale := 70 / jpg.Width; end; //Esto si uso el jpeg para escalarlo jpg.Height:=Round(jpg.Height * scale); jpg.Width:=Round(jpg.Width * scale); //si uso un iebitmap las dos lineas de arriba sobrarian y seria iebmp:=TIEBitmap.Create(Round(jpg.Width * scale),Round(jpg.Height * scale)); iebmp.Canvas.StretchDraw(iebmp.Canvas.ClipRect, jpg); Jpg:=TJpegImage.Create; jpg.Assign(iebmp.VclBitmap); jpg.SaveToFile('tmp_thumb.JPG'); Hacer cosas asi funciona pero es bastante lento...no hay un modo mas rapido? Con imageenproc parecia que se podia con el metodo resample, pero no he sabido cargar la imagen de un modo eficiente, tiene un imageenproc.bitmap.loadfromfile (o algo asi) que me peta.... gracias y un saludo |
#2
|
||||
|
||||
Hola.
Antes de nada comemtarte, que cuando añadas código Delphi lo hagas entre los TAG's correspondientes. En cuanto a la pregunta, revisa la sección de trucos del club, porque creo que hay alguno al respecto.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
hola, encontre ese truco pero no se como implementar el procedimiento que se muestra ahi, es este http://www.clubdelphi.com/trucos/ind...=120&scrollb=0 me podrias decir como?, gracias =)
|
#4
|
||||
|
||||
Al final del truco tienes un par de ejemplos de cómo hacer la llamada.
También puedes revisar en mi blog la entrada sobre "Antialiasing"; Hay código para generar miniaturas de una imagen.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
|||
|
|||
hola, gracias por tu respuesta, pero el problema no es al ahcer la llamada, sino dodne colocar el codigo en si :s, no la llamada si no el procedimiento
|
#6
|
||||
|
||||
Pues justo encima del otro. Como la llamada está en esa misma Unit no hay que definir nada más.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ayudenme Rapido, Rapido | omarys | Varios | 6 | 04-06-2011 09:45:34 |
seleccionar imagen de un thumbnail de imagenes | carlo_acp | Gráficos | 4 | 24-09-2008 20:40:37 |
¿Qué es más rapido? | jcarteagaf | Humor | 3 | 05-07-2008 02:48:58 |
Thumbnail para zoom | oregon | Gráficos | 5 | 20-10-2006 09:47:13 |
Thumbnail para QuickReport D6 | Cabanyaler | Impresión | 2 | 13-08-2004 11:06:50 |
|