Autor:
• sobota, marca 03rd, 2007

Tkolor to mały programik napisany w Tcl/tk, który pozwala w prosty sposób dobierać odpowiadające nam kolory tła i prezentowanego na tym tle tekstu. Wartości kolorów ustawia się przy pomocy sześciu suwaków, nad którymi wyświetlane są szesnastkowe oznaczenia. Programik powstał na wzór innej zabawki tego typu (również opartej na Tcl/Tk), którą znalazłem kiedyś w sieci, potem zgubiłem, a gdy znowu stała się potrzebna stwierdziłem, że o wiele szybsze (i zabawniejsze 😉 niż grzebanie w necie będzie napisanie czegoś takiego samemu.

Uruchomienie poniższego skryptu sprowadza się do przekopiowania kodu do pojedynczego pliku, któremu nadajemy prawo do wykonywania. Poprawki może wymagać pierwsza linia ze ścieżką do interpretera Tcl/Tk, gdzie należy wpisać ścieżkę odpowiednią dla swojego OS-a. Ja korzystam z niego pod GNU/Linux-em, ale również pod Windowsem (z zainstalowanym interpreterem Tcl/Tk) powinien się odpalać z cmoknięciem w joystick.

tkolor

#!/usr/bin/wish -f
#
# tKolor ver. 1.0 – program do koloryzowania rzeczywistości WWW
#
# Autor: Mirosław Kosmala
# Data: 12.01.2005r godz.: 01:00 AM
#
# Powered by VIM 6.2
#

wm title . „tKolor ver. 1.0”
wm resizable . no no

set kolor_tla(0) „00”
set kolor_tla(1) „00”
set kolor_tla(2) „00”

set kolor_tekstu(0) „00”
set kolor_tekstu(1) „00”
set kolor_tekstu(2) „00”

###
## PROCEDURY
#
proc maluj {} {

global kolor_tla kolor_tekstu

.d.e config -background „#$kolor_tla(0)$kolor_tla(1)$kolor_tla(2)” \
-foreground „#$kolor_tekstu(0)$kolor_tekstu(1)$kolor_tekstu(2)”
}

proc dawaj_wartosc {label numer typ kolor} {

global kolor_tla kolor_tekstu

# Zamiana dziesietnego na szesnastkowy
set kolor [format %02x $kolor]

# Wyświetlenie wartości
if {$typ == „t”} {
set kolor_tla($numer) $kolor
$label config -text „#$kolor_tla(0)$kolor_tla(1)$kolor_tla(2)”
}

if {$typ == „e”} {
set kolor_tekstu($numer) $kolor
$label config -text „#$kolor_tekstu(0)$kolor_tekstu(1)$kolor_tekstu(2)”
}

# Uwzględnij zmiany
maluj

}
###

frame .g
pack .g -fill both -expand 1

###
## Tło
#
frame .g.tlo -borderwidth 1 -relief groove
pack .g.tlo -expand 1 -fill both -side left

label .g.tlo.w -relief sunken
pack .g.tlo.w -expand 1 -fill x -side top

scale .g.tlo.s1 -orient vertical -length 300 -width 11 -from 255 -to 0 -showvalue 0 -command „dawaj_wartosc .g.tlo.w 0 t”
scale .g.tlo.s2 -orient vertical -width 11 -from 255 -to 0 -showvalue 0 -command „dawaj_wartosc .g.tlo.w 1 t”
scale .g.tlo.s3 -orient vertical -width 11 -from 255 -to 0 -showvalue 0 -command „dawaj_wartosc .g.tlo.w 2 t”
pack .g.tlo.s1 .g.tlo.s2 .g.tlo.s3 -expand 1 -fill both -side left

####
## Treść
#
frame .g.tr -borderwidth 1 -relief groove
pack .g.tr -expand 1 -fill both -side left

label .g.tr.w -relief sunken
pack .g.tr.w -expand 1 -fill x -side top

scale .g.tr.s1 -orient vertical -length 300 -width 11 -from 255 -to 0 -showvalue 0 -command „dawaj_wartosc .g.tr.w 0 e”
scale .g.tr.s2 -orient vertical -width 11 -from 255 -to 0 -showvalue 0 -command „dawaj_wartosc .g.tr.w 1 e”
scale .g.tr.s3 -orient vertical -width 11 -from 255 -to 0 -showvalue 0 -command „dawaj_wartosc .g.tr.w 2 e”
pack .g.tr.s1 .g.tr.s2 .g.tr.s3 -expand 1 -fill both -side left

####
## Wyniki
#
frame .d
pack .d -side top -expand 1 -fill x

label .d.e -text „\nNapis ćwiczebny\n”
pack .d.e -expand 1 -fill x
maluj

Wyślij na:
  • Facebook
  • Wykop
  • Twitter
  • MySpace
  • Google Bookmarks
  • Śledzik
  • email
Kategorie: Programy, Tcl/Tk | Tagi: ,
Możesz śledzić komentarze do tego wpisu przy pomocy RSS 2.0 Both comments and pings are currently closed.

Komentowanie zamknięte.