Recent

Author Topic: Crear un PNG transparente de varias imágenes  (Read 1785 times)

querecuto

  • Newbie
  • Posts: 3
Crear un PNG transparente de varias imágenes
« on: May 03, 2021, 12:00:55 am »
Salu2, estoy intentando crear un generador de imagenes y no sé cómo "fusionar" las imágenes en una sola y que se guarde en un png transparente.

¿Podría alguien orientarme?

Necesito obtener las imagenes de 4 "TImage" que se llaman: Card, Texture, Ribbon, Picture.
Además de los 2 textos (TLabel)


Intenté creando un "canvas" pero no supe cómo o creo que es para dibujar figuras geométricas.

Ñuño_Martínez

  • Hero Member
  • *****
  • Posts: 1186
    • Burdjia
Re: Crear un PNG transparente de varias imágenes
« Reply #1 on: May 03, 2021, 11:44:08 am »
La LCL no está muy preparada para manipular gráficos, por eso parece complicado. Prueba a usar una biblioteca gráfica, como BGRABitmap.  Tanto en el foro como en la wiki hay información adicional de esta biblioteca.
Are you interested in game programming? Join the Pascal Game Development community!
Also visit the Game Development Portal

lucamar

  • Hero Member
  • *****
  • Posts: 4219
Re: Crear un PNG transparente de varias imágenes
« Reply #2 on: May 03, 2021, 02:41:04 pm »
Si no quieres usar terceras partes, otra forma de hacerlo es crear un TPortableNetworkGraphic y dibujar en su Canvas con los métodos de éste último: CopyRect, Draw, StrectchDraw, etc. Luego asigna este TPortableNetworkGraphics to the TImage.Graphic

Lo que no sé es cuán bien funcionará la transparencia con este método; dependerá, supongo del formato de las imágenes originales. Tendrás que probar y ver qué pasa. :-[
Turbo Pascal 3 CP/M - Amstrad PCW 8256 (512 KB !!!) :P
Lazarus/FPC 2.0.8/3.0.4 & 2.0.12/3.2.0 - 32/64 bits on:
(K|L|X)Ubuntu 12..18, Windows XP, 7, 10 and various DOSes.

querecuto

  • Newbie
  • Posts: 3
Re: Crear un PNG transparente de varias imágenes
« Reply #3 on: May 03, 2021, 11:22:58 pm »
La LCL no está muy preparada para manipular gráficos, por eso parece complicado. Prueba a usar una biblioteca gráfica, como BGRABitmap.  Tanto en el foro como en la wiki hay información adicional de esta biblioteca.
Ya lo habia visto pero no me he puesto con él, tocará ir leyendo y trasteando. gracias!


Si no quieres usar terceras partes, otra forma de hacerlo es crear un TPortableNetworkGraphic y dibujar en su Canvas con los métodos de éste último: CopyRect, Draw, StrectchDraw, etc. Luego asigna este TPortableNetworkGraphics to the TImage.Graphic

Lo que no sé es cuán bien funcionará la transparencia con este método; dependerá, supongo del formato de las imágenes originales. Tendrás que probar y ver qué pasa. :-[
Vamos a probar esto primero, asi voy aprendiendo de los 2 metodos, gracias  ;D

 

TinyPortal © 2005-2018