translucent grob - Printable Version +- HP Forums (https://www.hpmuseum.org/forum) +-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html) +--- Forum: HP Prime (/forum-5.html) +--- Thread: translucent grob (/thread-6237.html) |
translucent grob - fabila - 05-12-2016 07:00 PM I'm trying to paste a translucent grob over another, and that is in the background I can not see , get a black background. This did not happen in previous firmware In the following program expected to see a blue rectangle on a white background Estoy intentando pegar un grob translucido sobre otro, y el que esta en el fondo no lo puedo ver, obtengo un fondo negro. Esto no sucedía en anteriores firmware. En el siguiente programa esperaba ver un rectángulo azul sobre fondo blanco PHP Code: EXPORT nuevo_programa() RE: translucent grob - cyrille de brébisson - 05-13-2016 05:08 AM Hello, Thanks for posting this issue. I will add it on the list. I have a question, which is related to this issue. What would you expect the result of the rect_p command to be when: - edge and fill color are transparent - edge is transparent and fill is opaque - edge is opaque and fill is transparent - both are opaque (well, this one is easy, you want an opaque, bi-color rectangle). Regards, Cyrille RE: translucent grob - Carlos295pz - 05-13-2016 03:24 PM Tienes 2 errores, en el DIMGROB y en el uso de la mezcla alfa con BLIT. PHP Code: EXPORT nuevo_programa() Ejemplo: PHP Code: EXPORT nuevo_programa() Para ello es obligatorio definir definir los extremos del origen como se menciona en el manual, y escribir el color y mezcla alfa por separado. RE: translucent grob - fabila - 05-13-2016 05:32 PM Quote:I have a question, which is related to this issue. Thanks cyrille Expect to see different effects as a function of this set the transparency level of grob in which the rectangle is drawn If the grob is attached in which the rectangle is solid expect to see the background color grob in areas where transparency have put either side or edge If the grob in which is attached the rectangle is translucent, expect to see the background color of the following solid grob this at a lower level, and if there is no grob at lower levels, expect to see the latest that has been drawn in the screen when running in program. Esperaría ver distintos efectos en función del como este definido el nivel de transparencia del grob en el que se dibuje el rectángulo Si el grob en el que esta pegado el rectángulo es solido esperaría ver el color del fondo del grob en las zonas donde hayas puesto la transparencia ya sea en cara o en el borde Si el grob en el que esta pegado el rectángulo es translucido, esperaría ver el color del fondo del siguiente grob solido que este en un nivel inferior, y si no hay ningún grob en niveles inferiores, esperaría ver lo ultimo que se haya dibujado en la pantalla al ejecutar en programa. Gracias Carlos295pz En versiones anteriores, podías definir un grob traslucido con dimgrob, y sobre ese grob dibujar gráficos con un color solido, rectángulos, círculos textos etc, así sucesivamente generaba varios grobs con distintos gráficos, y con el comando Blit pegaba o activaba o desactivaba los grobs al gusto, algo así como utilizar las capas en autocad. El problemas me surgió con la nueva actualización, que los programas que había echo dejaron de funcionar correctamente precisamente por eso, porque cuando debería de verse los gráficos que hay en una capa interior de un grob transparente dejan de verse y ahora aparece todo con un fondo negro se mezclan los canales obteniendo un resultado impredecible. Si doy el grado de transparencia al grob en el comando blit también deberia de convertir en traslucido los objetos gráficos que quería que fueran opacos.? He probado tu sugerencias y arreglan los problemas de mi programa, puede qeu tenga los conceptos equivocados. Muchas gracias por tu propuesta. RE: translucent grob - fabila - 05-13-2016 06:31 PM Creo que tenia yo mal el concepto, el comando blit con el argumento del color lo que hace es convertir en translucido solo el color que tu le asignes con el nivel de transparencia del canal alfa. RE: translucent grob - Carlos295pz - 05-13-2016 10:16 PM Los colores en la calculadora son opacos o transparentes, es posible crear GROB's con fondo transparente sin hacer uso de la inserción con omisión de color del comando BLIT, pero esto no se puede definir desde un programa con RECT(Realiza cambio o mezcla si se indicó alfa), sí es posible pero generalmente es el resultado de pasar una imagen PNG a una variable gráfica como: PHP Code: G1:=AFiles("icon.png"); Se debe tener en cuenta que el canal alpha para interpretado en la calculadora es en base a un color de 16bits, A1R5G5B5, por esta razón el alpha o es visible o no visible, por lo general si un pixel del GROB no es visible, RGB tienen su equivalencia en negro, por lo que un color negro con un alpha no visible equivale a #8000h o #1 00000 00000 00000b (junto). Para conseguir crear un GROB con píxeles con el canal alpha activado se puede hacer uso del DIMGROB, usar una definición general como DIMGROB_P(G?,X,Y,RGB(0,0,0,>127)) o DIMGROB_P(G?,X,Y,#FF000000h) [No posible en 10077], también asumiendo el color de cada pixel cada 16bits de datos. Por ejemplo: Code: //G1:2x2 (Todos sus píxeles negros pero no visibles) Es decir que aún si tenemos un GROB que posee pixeles no visibles, estos tienen colores, por lo que se recomienda reemplazarlos, puesto que si se combina un color difuminado como en este ejemplo: Code: DIMGROB_P(G1,2,2,{#80008000h,#80008000h}); Quote:Más ejemplos: |