HI! ¿Podría decirme cómo cambiar el tamaño de una imagen .png? O mejor, da un ejemplo. He estado buscando la respuesta durante mucho tiempo y parece que nadie sabe cómo cambiar el tamaño de una imagen .png y mantener su transparencia. :(Redimensionar imagen PNG
Respuesta
Debo confesar que no tengo ninguna experiencia en programación jugar con png.
De todos modos, se encuentran algunas librerías here. Excepto el soporte nativo Delphi PNG, creo que encontrará allí toda la bibliotecas existentes (nativos de Delphi, por supuesto).
Si nada le ayuda allí, considere la posibilidad de jugar con ImageMagick si es posible ... Esa es la navaja suiza de la manipulación de imágenes y todo lo que puede hacer es factible en la línea de comandos
Puede usar Windows Imaging Component (WIC) en Delphi 2010. Puede cargar su imagen PNG en una clase TWICImage, luego extrae la interfaz IWICBitmapScaler de su manejador.
Usando IWICBitmapScaler, puede reducir o reducir la imagen.
WIC está disponible en Windows Vista y Windows 7. Para Windows XP, debe instalar una actualización antes de usarlo.
El autor original del componente PNGImage (la base del componente nativo Delphi) tenía un foro donde él y otros publicaban fragmentos de código sobre cómo hacer cosas usando el componente PNGImage.
Antes de que se quitara el foro agarré una copia de todos los fragmentos de código y los coloqué en el sitio web de CodeGear Code Central.
La mayoría, si no todos, funcionan con imágenes PNG nativas y mantienen el canal Alpha.
Aquí está la lista completa de los ejemplos incluidos en el paquete:
- suave gira un objeto PNG
- el tamaño de una TPNGObject utilizando un algoritmo suave
- rebanada uno PNG en varios más pequeños
- Guarda una imagen como bitmap o png.
- Muestra trozo descendiente
- Leer todo el texto Trozos y escribir valores en una TStrings objeto
- Muestre un cuadro de mensaje con información extraída del archivo PNG
- encuentra y corta un bloque de una imagen PNG de
- Este método convierte el png en un objeto jpeg
- Este método convierte el png en un objeto bmp
- Overlay uno PNG sobre otro
- esto hace t que la imagen semitransparente
- Gira una imagen PNG verticalmente y ahorra volver
- dibuja una imagen PNG sobre el escritorio
Aquí está el enlace: CodeCentral PNG Methods
Hay versiones de PngImage (Gráficos de red portátiles Delphi) Eso permite hacerlo a través de StretchDraw simple.
Tengo la versión que permite hacerlo - 1.564 (31 de julio de 2006)
y la versión que no permite - 1.4361 (8 de marzo de 2003)
para llevarla a cabo utilicé:
corazón .png - con transparencia y logré cambiarle el tamaño y ahorrar con transparencia.
empty.png - el png puro transparente fue utilizado como una hoja en blanco para poner mi imagen en él.
He comprobado que a través de dicho código:
procedure TForm1.Button1Click(Sender: TObject);
var pic_empty, pic_stamp, pic_result :TPicture;
r:TRect;
png : TPNGObject;
begin
pic_stamp := TPicture.Create;
pic_stamp.LoadFromFile('c:\heart.png');
pic_stamp.Graphic.Transparent := True;
pic_empty := TPicture.Create;
pic_empty.LoadFromFile('c:\empty.png');
pic_empty.Graphic.Transparent := True;
r.Left := 0;
r.Top := 0;
r.Right := r.Left + 100;
r.Bottom := r.Top + 100;
pic_result := tpicture.Create;
pic_result.Bitmap.Assign(pic_empty.Graphic);
pic_result.Graphic.Transparent := True;
pic_result.Bitmap.Canvas.StretchDraw(r,pic_stamp.Graphic);
pic_result.Bitmap.Width :=100;
pic_result.Bitmap.Height:=100;
png := TPNGObject.Create;
png.Assign(pic_result.Bitmap);
png.SaveToFile('c:\result.png');
png.Free;
pic_result.Free;
pic_empty.Free;
pic_stamp.free;
end;
Delphi-7, x64 Win7
- 1. ImageMagick PNG Redimensionar aumenta el tamaño del archivo
- 2. Redimensionar la imagen con Recortar
- 3. Lectura de una imagen PNG en Node.js
- 4. Redimensionar la imagen antes de subirla
- 5. convertir uiview a .png imagen
- 6. Crear una imagen PNG dinámica
- 7. Redimensionar UIImage en UIImageView
- 8. Subida de imagen flash redimensionar el lado del cliente
- 9. css imagen de fondo redimensionar ancho recortar altura
- 10. redimensionar una imagen en .Net con el antialiasing
- 11. Redimensionar/recortar/rellenar una imagen en un tamaño fijo
- 12. Redimensionar la imagen para ajustarla a la relación de aspecto
- 13. Redimensionar la animación GIF, pil/imagemagick, python
- 14. Crear imagen png desde QRCode para iPhone
- 15. Convertir imagen SVG a PNG con PHP
- 16. cómo guardar el lienzo como imagen png?
- 17. Cómo convertir una imagen JPG a PNG
- 18. Java convertir imagen GIF a formato PNG
- 19. imagen para numpy-matriz: JPG PNG vs
- 20. Guardar como una imagen png en Android
- 21. cómo comprimir una imagen PNG usando Java
- 22. Programemente genera PNG desde la imagen Raphael.JS
- 23. Guardar wpf ver como imagen, preferiblemente .png
- 24. Crear imagen PNG con C# HttpHandler webservice
- 25. Redimensionar VideoView
- 26. CLI ImageMagick redimensionar (solo downscale)
- 27. Redimensionar UIImage con relación de aspecto?
- 28. redimensionar imágenes base64
- 29. Tinymce redimensionar solo
- 30. jQuery - Retirar Redimensionar Funcionalidad