In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Posible bug en TImageEditor

Foro de Xailer profesional en español
buzonjmartial
Posts: 55
Joined: Fri Apr 10, 2009 11:02 pm

Posible bug en TImageEditor

Postby buzonjmartial » Sat Apr 06, 2019 8:57 pm

Buenas tardes,

Si comprueban el ejemplo de Xailer ImageEdit podréis comprobar como cambiar el brillo, contraste, etc de una foto.

Bueno, pues muevan el trackBar del contraste y verán que funciona, pero muevan el de saturación y verán que ya no funciona el contraste.

Después de dar muchas vueltas he visto, que una vez cambias la Property nSaturation, deja de funcionar el cambiar el contraste.

Creo que algo raro pasa en el código fuente de esa clase.
Un Saludo,
Joaquín Martínez
buzonjmartial
Posts: 55
Joined: Fri Apr 10, 2009 11:02 pm

Re: Posible bug en TImageEditor

Postby buzonjmartial » Sun Apr 07, 2019 1:51 am

Buenas noches,

Esta clase no funciona nada bien :?

Si me pudierais poner el samples modificado para que se le cambie, saturación por ejemplo y luego que al grabar a disco NO grabe la ORIGINAL ?.

Necesito, retocar todos los settings del ejemplo y grabar o devolver stream con los cambios hechos, no sin retocar.

La ayuda tampoco es muy clara.

Code: Select all

   TImageEditor:nBrightness

   Luminosidad de la imagen.


Ámbito
 Asignable
 
Tipo
 Numérico
 
Valor inicial
 1.0
 
Valores posibles
 -100 a +100



Valores posibles
-100 a +100


Esto es incorrecto, porque sólo he podido probar de 0 a 2, el rango del brillo, de -100 a 100, en el momento que pones -1 ya está negra la imágen.

En fin, que si me pudiéseis aclarar algo, lo agradecería, he invertido varias horas en intentar que funcionara, pero algo va mal y además no tengo el código fuente de la clase.
Un Saludo,
Joaquín Martínez
User avatar
ignacio
Site Admin
Posts: 8522
Joined: Mon Apr 06, 2015 8:00 pm
Location: Madrid, Spain
Contact:

Re: Posible bug en TImageEditor

Postby ignacio » Mon Apr 08, 2019 12:59 pm

Buenos días,

Sólo pretende ser un ejemplo. Ne se ha pretendido hacer una aplicación completa. Es muy probable que los valores de todos los 'trackbar' estén fuera de rango.

Saludos

Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
buzonjmartial
Posts: 55
Joined: Fri Apr 10, 2009 11:02 pm

Re: Posible bug en TImageEditor

Postby buzonjmartial » Mon Apr 08, 2019 1:52 pm

Buenos días Ignacio,

Ya sé que es un ejemplo, yo he hecho uno real y visto todos los comportamientos erróneos.

He puesto que probárais el sample, porque así lo comprobábais ustedes mismos. Pero lo que tocas de ciertos settings, son erróneos y luego pierdes esos cambios,
volviendo de nuevo a la original.

El tema es que el sample debería funcionar, porque debe de haber, alguna manera de comprobar que la clase funciona correctamente.
Un Saludo,
Joaquín Martínez
User avatar
ignacio
Site Admin
Posts: 8522
Joined: Mon Apr 06, 2015 8:00 pm
Location: Madrid, Spain
Contact:

Re: Posible bug en TImageEditor

Postby ignacio » Mon Apr 08, 2019 5:31 pm

Buenas tardes,

Guardar las modificaciones hechas es tan sencillo como: ::oImageEditor1:oPicture:Save( ... )

Los distintos valores que pueden tener las propiedades de manejo se aplican usando la función del API GdipSetImageAttributesColorMatrixy y GdipSetImageAttributesGamma. Ese código no se entrega. Lo siento.

Un saludo
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
buzonjmartial
Posts: 55
Joined: Fri Apr 10, 2009 11:02 pm

Re: Posible bug en TImageEditor

Postby buzonjmartial » Mon Apr 08, 2019 6:33 pm

Buenas tardes Ignacio,


Guardar las modificaciones hechas es tan sencillo como: ::oImageEditor1:oPicture:Save( ... )

Parece que ustedes tenéis unas librerías de Xailer diferentes a las mías, porque como se graba ya lo sabía, lo que intento decir, es que a mi no me graba los cambios,
usando el mismo programa sample que viene de muestra. Y que cuando cambio el valor de la saturación, el contraste ya no va bien, ya no se le puede cambiar el valor.

¿Habrá la posibilidad de que se hayan solucionado esos problemas y yo estoy usando una TImageEditor diferente con ciertos bugs?
Un Saludo,
Joaquín Martínez
User avatar
jfgimenez
Site Admin
Posts: 5618
Joined: Mon Apr 06, 2015 8:48 pm
Contact:

Re: Posible bug en TImageEditor

Postby jfgimenez » Mon Apr 08, 2019 9:10 pm

Joaquín,

1) para que guarde los cambios hay que ejecutar antes el método ApplyLevels(). Esto es porque se utiliza la imagen original y se aplican los filtros "al vuelo" cada vez que se pinta en pantalla. Una vez que "aplicas los cambios" es cuando se modifica la imagen.

2) He comprobado que la saturación es incompatible con el contraste. Me explico: todos los filtros utilizan una matriz de transformación de colores de 3x3. Pues bien, tanto la saturación como el contraste modifican los mismos elementos de la matriz (el brilo utiliza otros elementos), y como el contraste se aplica antes que la saturación, esta última sobreescribe los valores previos. Por eso "deja de funcionar" el contraste. Intentaré hacer algunas pruebas por si se pueden calcular esos valores teniendo en cuenta los dos filtros, pero no te puedo asegurar nada.
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
buzonjmartial
Posts: 55
Joined: Fri Apr 10, 2009 11:02 pm

Re: Posible bug en TImageEditor

Postby buzonjmartial » Mon Apr 08, 2019 11:31 pm

Gracias Jose,

por la explicación tan detallada, como siempre.

Lo de usar ApplyLevels() antes del save(), ya lo descubrí, pero sólo brillo y contraste.

Saturaciòn, transparencia y gamma, se pierden al hacer el save().
Un Saludo,
Joaquín Martínez
User avatar
jfgimenez
Site Admin
Posts: 5618
Joined: Mon Apr 06, 2015 8:48 pm
Contact:

Re: Posible bug en TImageEditor

Postby jfgimenez » Tue Apr 09, 2019 9:48 pm

Joaquín,

por lo que he podido ver, es verdad que sólo se contempla el brillo y el contraste. El resto de filtros se aplican al pintar la imagen en pantalla y ya está. Vamos a ver cómo metemos lo demás, aunque lo que sí te anticipo es que la transparencia no va a estar porque eso depende de lo que tengas debajo de la imagen, y claro, si guardas la imagen no hay forma de saber donde la vas a mostrar después. Quizás se podría hacer algo con el canal alfa, pero ya nos metemos en otras historias.
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
buzonjmartial
Posts: 55
Joined: Fri Apr 10, 2009 11:02 pm

Re: Posible bug en TImageEditor

Postby buzonjmartial » Tue Apr 09, 2019 9:56 pm

Ok!

Con la saturación ya me vale, pero también lo decía, porque puede llevar a confusión que el control tenga esas propiedades,
y luego no funcionen. Quizás, mejor quitar lo que no funcione y conforme lo implementéis añadirlo.

Y para otros usuarios, es fundamental que se sepa, que hay usar ApplyLevels() antes del save(),para que lo que se grabe en disco
sea lo mismo que se está viendo en pantalla. (Me volví loco hasta averiguarlo)


Gracias,
Un Saludo,
Joaquín Martínez

Return to “Spanish”