Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   Como hago un pixel transparente (https://www.clubdelphi.com/foros/showthread.php?t=35644)

jorge1987 16-09-2006 19:04:14

Como hago un pixel transparente
 
Bueno, es simple, como hago un pixel transparente en un BitMap?

Por ejemplo, en un Timage, en el BitMap, como puedo hacer para que el pixel 3,3 sea transparente?

Saludos :D:D

delphi.com.ar 18-09-2006 23:45:27

Si no me equivoco, suelo hacerlo ;), el TImage toma como color transparente al color del primer pixel del margen inferior izquierdo del bitmap. Entonces solo tendrías que hacer que ese pixel conicida en el color.

Saludos!

jorge1987 19-09-2006 04:11:08

Mmm, podria ser, pero la idea, es algo asi, como cuando seleccionas la goma para borrar en el paint, nada mas que en vez de dejar un rastro blanco, lo deje transparente, si estas trabajando con una foto, y hago que sea transparente segun un color, puedo romper la imagen.

Alguna idea? Se entendio lo que quiero hacer?

De todas maneras, gracias por ocupar tiempo en responderme.

Saludos :D:D

seoane 19-09-2006 04:29:45

Leyendo lo de la goma de borrar, me pregunto: ¿cual es tu intención?. Me explico, si tienes un TImage y le haces un trazo transparente, consigues el mismo efecto que pintar ese mismo trazo con el color de formulario sobre el que esta el TImage. O acaso ese TImage hipotético no estaría directamente sobre el formulario, sino sobre otro TImage y así de esta forma quieres combinar las dos, porque eso tendría una solución completamente diferente. Voy a dejar de preguntar y adivinar :) (aquí son la 4:30 am), mejor explica tu lo que quieres conseguir.

De todas formas y volviendo a lo del color transparente, nada te impide examinar pixel a pixel la imagen hasta encontrar un color que no este presente en la imagen y utilizar ese para la transparencia, teniendo en cuenta que en una imagen de 24 bits pueden existir 16777216 colores, malo sera que en la imagen se utilicen todos.

jorge1987 26-09-2006 04:42:35

Imaginemos una imagen dividida en dos horizntalmente.
La parte de arriba, es roja, y la de abajo es azul.
Si al TImage, le pongo para que sea transparente, el color azul, desaparecera no?
Si yo guardo la imagen en un bmp (SaveToFile('temp.bmp');), como se guardara la parte de abajo? Sera transparente? sera negra?

Bueno, lo que intento hacer, para explicarles mejor, aunque creo que ya lo mencione, es una especie de Paint (GIMP, o lo que quieran segun les guste).

Bueno, algun vez utilizaron la goma de borrar no? bueno, casi siempre, es muy comun, que el trazo que dibuja la goma, sea blanco, yo lo que quiero hacer en mi App, es que ese trazo, en vez de blanco, sea transparente, y yo pueda hacerle partes transparentes a una imagen, y que cuando la guarde, esas partes, sigan siendo tranparentes.

Gracias por las respuestas.

Saludos :D:D

seoane 26-09-2006 12:23:45

La propiedad transparent del objeto TBitmap solo indica como dibuja delphi la imagen, no afecta para nada el archivo. Es decir, a tu pregunta ¿como se guardara la parte de abajo? pues si es azul se guardara de color azul. Hasta donde yo se el formato bmp no permite guardar transparencias, para eso tendrías que utilizar formatos de archivo como gif o png.

dec 26-09-2006 12:27:44

Hola,

Cita:

Empezado por Seoane
Hasta donde yo se el formato bmp no permite guardar transparencias (...)

Hasta donde yo sé tampoco, por si sirve de algo, lo digo. :)

jorge1987 26-09-2006 20:19:28

Cita:

Empezado por dec
Hola,



Hasta donde yo sé tampoco, por si sirve de algo, lo digo. :)

Gracias por las opiniones, entonses, tendria que buscar la forma de guardarlo como PNG o GIF? Supuestamente asi funcionaria? mmmm.

No creo, pero por las dudas pregunto.

Saludos :D:D

PD: Les hablo desde Ubuntu, lo hice funcionar al condenado, XDDD, me falta instalar Opera, y sacar este FF que no sirve para nada, XDDD.


La franja horaria es GMT +2. Ahora son las 16:27:48.

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