=?iso-8859-1?q?Re:=20[Programaci=F3n]=20=20Convertir=20archivos, =20jpg, ?= png, etc a escala RGB
Horacio Castellini
horacio9573 en yahoo.com.ar
Lun Feb 11 14:21:40 ARDT 2008
Lo voy a probar, se ve interesante...
> columna o fila...
>
> Fácil fácil con tcl/tk y una extensión (Img,
> http://tkimg.sourceforge.net)
>
>
8<-----8<-----8<-----8<-----8<-----8<-----8<-----8<-----8<-----
> # image2rgb.tcl
> # Carga y muestra una imagen
> # sacando por stdout los valores RGB
>
> # Esto permite lanzar el script desde tclsh
> directamente
> package require Tk
> # Soporte extendido de imagenes.
> # http://tkimg.sourceforge.net
> # debian/ubuntu package: libtk-img
> package require Img
>
> proc uso {} {
> puts "Uso: $::argv0 imagen"
> exit 1
> }
>
> set imagefile [lindex $argv 0]
>
> if {$argc != 1 || ![file exist $imagefile]} {
> uso
> }
>
> # Creamos la imagen
> set img [image create photo -file $imagefile]
>
> # Ponemos la imagen en una etiqueta y la mostramos
> pack [label .l -bg white -image $img]
>
> # Finalmente, sacamos los datos por stdout
> puts [join [$img data] \n]
>
> # Doble-Escape (ala VI!!) cierra la ventana y
> termina
> bind all <Double-KeyPress-Escape> {exit 0}
>
>
8<-----8<-----8<-----8<-----8<-----8<-----8<-----8<-----8<-----
>
> Uso por demás de evidente. El formato de salida es:
>
> emiliano en maq033:~$ wish8.5 image2rgb.tcl
> iconos/Crystal\ Clear/16x16/devices/Mod
> em.png
> #000000 #000000 #000000 #000000 #000000 #000000
> #000000 #000000 #000000 #000000
> #000000 #000000 #000000 #000000 #000000 #000000
> #000000 #465164 #7b8da8 #8493a8 #8895ab #8a97ac
> #909cb0 #95a1b4 #a2aebf #a5b1c2
> #aab4c4 #aeb8c7 #afb9c8 #8294ae #2c323f #000000
> #000000 #6e819c #8fa6c0 #8c9eb2 #94a6ba #94a5b8
> #a5b6c8 #b4c4d6 #b6c6d6 #bac9d8
> #bfcddc #c4d1df #cbd7e2 #a4bad2 #4d5c70 #000000
> #0d0d0d #758aa5 #8aa0b9 #8699ae #8ea0b5 #8f9fb4
> #a0b1c4 #acbccf #b0bfd2 #b4c3d4
> #b8c7d7 #bdcbd9 #c7d2de #a7bbd1 #586880 #000000
> #14141c #7d94b0 #89a0b9 #8699af #8ea0b6 #8fa0b5
> #9eafc4 #a8b9cd #acbccf #b1c0d2
> #b5c4d5 #bac7d7 #c3cfdc #abbed2 #657891 #000000
> #20232c #829bb8 #859bb5 #7e8fa6 #8598af #8697ad
> #98aac0 #a4b7cb #a8bacd #adbdcf
> #b2c1d3 #b6c5d5 #becbd9 #afc0d3 #7185a0 #05050b
> #2a313c #859ebb #8aa2bc #8fa6bf #93a9c1 #98adc4
> #9bb0c6 #a0b2c8 #a4b6ca #a9bacd
> #aebed0 #b2c2d3 #b9c7d6 #b2c2d4 #7b91ac #0e0e16
> #393f4e #89a1bf #879fba #8ba2bc #90a6c0 #94aac1
> #99aec4 #9eb1c7 #a2b5c9 #a7b8cc
> #abbccf #b0c0d2 #b6c5d5 #b6c5d6 #849bb6 #181b23
> #495565 #92aac5 #8ca3bd #90a6bf #95aac2 #99adc4
> #9db1c7 #a2b4c9 #a6b8cb #aabbce
> #afbfd0 #b3c2d3 #b8c6d5 #bbc9d9 #94aac2 #272b36
> #586476 #9eb5cd #96abc3 #97acc3 #9cb0c5 #a0b3c8
> #a3b6ca #a7b9cc #abbccf #b0c0d1
> #b4c3d3 #b7c6d5 #bcc9d8 #c0cddc #a6b9d0 #343b46
> #808895 #c8d5e2 #bdcfde #bfcfdd #bfd0de #c1d2df
> #c3d3e0 #c3d4e2 #c8d4e0 #cbd4e3
> #ccd5e3 #cdd7e2 #cfd8e3 #d1dae4 #cdd8e5 #50555f
> #6c7a8f #8ca6c0 #998698 #8d93aa #968b9e #908da2
> #8e8ca2 #98879a #8a99b5 #7c9da6
> #7a9aa3 #8aa0bd #889fba #879fb9 #91a9c4 #4b5461
> #687e97 #96869d #bb525b #a85f6d #ab6572 #b4515c
> #a16b7a #be4e57 #8098b1 #48a35b
> #749c9c #869dbc #849db8 #849db8 #8ba6c3 #495465
> #78899b #d1b4c0 #cda8b3 #d3a2ab #c8b2c0 #d39ca5
> #cbaeba #cea3b0 #b0ced8 #8fca9d
> #b2c5d8 #b2c4d9 #b2c4d8 #b3c5d9 #b8cbe0 #515864
> #222228 #535a61 #505a61 #505861 #4f5760 #505a61
> #505861 #4f5861 #50535d #555563
> #50555d #50555d #50555d #50555e #4e525a #111115
> #000000 #000000 #000000 #000000 #000000 #000000
> #000000 #000000 #000000 #000000
> #000000 #000000 #000000 #000000 #000000 #000000
>
> O sea, el valor rgb de cada pixel separado por
> espacios, con un \n al final
> de cada fila.
> Si el script falla, el mensaje de error debería ser
> por demás de claro, p.ej
>
> emiliano en maq033:~$ wish8.5 image2rgb.tcl
> image2rgb.tcl
> Error in startup script: couldn't recognize data in
> image file "image2rgb.tcl"
> while executing
> "image create photo -file $imagefile"
> invoked from within
> "set img [image create photo -file $imagefile]"
> (file "image2rgb.tcl" line 25)
>
> Espero que sirva, saludos
>
> Emiliano
> > _______________________________________________
> Programacion mailing list
> Programacion en lugro.org.ar
>
http://www.lugro.org.ar/mailman/listinfo/programacion
>
Yahoo! Encuentros.
Ahora encontrar pareja es mucho más fácil, probá el nuevo Yahoo! Encuentros http://yahoo.cupidovirtual.com/servlet/NewRegistration
Más información sobre la lista de distribución Programacion