Version 0 of Generating a color image

Updated 2003-09-12 16:03:48

ulis, 2003-09-12. How to create, compute, fill, save, read, set transparency, display a color image.

  # size
  set size 128
  package require Tk
  # create image
  image create photo img -width $size -height $size
  # put colors
  if 1 \
  {
    # compute colors
    set pixels {}
    for {set i 0} {$i < $size} {incr i} \
    {
      set row {}
      for {set j 0} {$j < $size} {incr j} \
      {
        set R [expr {$i * 2}]
        set G [expr {$i + $j}]
        set B [expr {$j * 2}]
        lappend row [format #%02x%02x%02x $R $G $B]
      }
      lappend pixels $row
    }
    img put $pixels
    # save image
    img write test.ppm -format ppm
  } \
  else \
  {
    # read image
    img read test.ppm
  }
  # set transparency
  set s2 [expr {$size / 2}]
  for {set i 0} {$i < $s2} {incr i} \
  {
    set i2 [expr {$s2 - $i}]
    for {set j 0} {$j < $size} {incr j} \
    {
      if {$j < $i2 || $j > $size - $i2} { img transparency set $j $i 1 }
    }
  }
  for {} {$i < $size} {incr i} \
  {
    set i2 [expr {$i - $s2}]
    for {set j 0} {$j < $size} {incr j} \
    {
      if {$j < $i2 || $j > $size - $i2} { img transparency set $j $i 1 }
    }
  }
  # display image
  incr size 4
  canvas .c -width $size -height $size
  .c create image 2 2 -anchor nw -image img
  pack .c

Category Example