## Tcl8.6.17/Tk8.6.17 Documentation > Tk Commands > photo

### Tcl/Tk Applications | Tcl Commands | Tk Commands | [incr Tcl] Package Commands | SQLite3 Package Commands | TDBC Package Commands | tdbc::mysql Package Commands | tdbc::odbc Package Commands | tdbc::postgres Package Commands | tdbc::sqlite3 Package Commands | Thread Package Commands | Tcl C API | Tk C API | [incr Tcl] Package C API | TDBC Package C API

  NAME
    photo — 総天然色の影像 Full-color images
  構文 SYNOPSIS
  説明 DESCRIPTION
  CREATING PHOTOS
    -data string
    -format format-name
    -file name
    -gamma value
    -height number
    -palette palette-spec
    -width number
  影像命令 IMAGE COMMAND
    imageName blank
    imageName cget option
    imageName configure ?option? ?value option value ...?
    imageName copy sourceImage ?option value(s) ...?
      -from x1 y1 x2 y2
      -to x1 y1 x2 y2
      -shrink
      -zoom x y
      -subsample x y
      -compositingrule rule
    imageName data ?option value(s) ...?
      -background color
      -format format-name
      -from x1 y1 x2 y2
      -grayscale
    imageName get x y
    imageName put data ?option value(s) ...?
      -format format-name
      -to x1 y1 ?x2 y2?
    imageName read filename ?option value(s) ...?
      -format format-name
      -from x1 y1 x2 y2
      -shrink
      -to x y
    imageName redither
    imageName transparency subcommand ?arg arg ...?
      imageName transparency get x y
      imageName transparency set x y boolean
    imageName write filename ?option value(s) ...?
      -background color
      -format format-name
      -from x1 y1 x2 y2
      -grayscale
  影像形式 IMAGE FORMATS
  形式の副指示項目 FORMAT SUBOPTIONS
    gif -index indexValue
    png -alpha alphaValue
  色の割付け　COLOR ALLOCATION
  著作権表示 CREDITS
  用例 EXAMPLE
  SEE ALSO
  KEYWORDS

### NAME

photo — 総天然色の影像 Full-color images

### 構文 SYNOPSIS

image create photo ?name? ?options?
imageName blank
imageName cget option
imageName configure ?option? ?value option value ...?
imageName copy sourceImage ?option value(s) ...?
imageName data ?option value(s) ...?
imageName get x y
imageName put data ?option value(s) ...?
imageName read filename ?option value(s) ...?
imageName redither
imageName transparency subcommand ?arg arg ...?
imageName write filename ?option value(s) ...?

### 説明 DESCRIPTION

写影はその画素が何の色も表示できたり､透き通ったりする影像である｡写影の影像は内部的に総天然色(画素あたり32ビット)で保存され､必要ならデイザ技術(訳註：明暗の諧調を滑らかに付ける技術)を使って表示される｡写影の影像の為の影像データはファイルか文字列から得られ､又､対話機能手続函数を通して C 命令譜から供給される｡現在では､ PNG と GIF と PPM/PGM 形式のみが運営されているが､容易に追加できる追加的な影像ファイル形式を扱える対話機能が存在する｡写影の影像はその影像データが供給されないか､ transparency set 副命令で透明に設定されたか､の領域は透明である｡ 　　 　 A photo is an image whose pixels can display any color or be transparent. A photo image is stored internally in full color (32 bits per pixel), and is displayed using dithering if necessary. Image data for a photo image can be obtained from a file or a string, or it can be supplied from C code through a procedural interface. At present, only PNG, GIF and PPM/PGM formats are supported, but an interface exists to allow additional image file formats to be added easily. A photo image is transparent in regions where no image data has been supplied or where it has been set transparent by the transparency set subcommand.

### CREATING PHOTOS

全ての影像の様に写影は image create 命令を使って作成される｡写影は次の指示項目を運営している: Like all images, photos are created using the image create command. Photos support the following options:

-data string
  影像の内容を文字列として指定する｡文字列は２進数データか､ある形式に対しては､base64-encoded (これは現在 PNG と GIF 影像の為に運営されることが保障されている)形式データを含むべきである｡文字列の書式は､文字列データを受入れる既存の映像ファイル書式操作子に対応するものの内の一つでなければならない｡もし -data と -file 指示項目の両方が指定されると -file 指示項目が優先権を得る｡ 　　　 Specifies the contents of the image as a string. The string should contain binary data or, for some formats, base64-encoded data (this is currently guaranteed to be supported for PNG and GIF images). The format of the string must be one of those for which there is an image file format handler that will accept string data. If both the -data and -file options are specified, the -file option takes precedence.

-format format-name
  -data か -file 指示項目を使って指定されるデータの為のファイル形式の名前を指定する｡ Specifies the name of the file format for the data specified with the -data or -file option.

-file name
  name は､写影の影像の為に供給すべきデータが読まれるファイルの名前を与える｡ファイル形式は､データを読み得る既存の映像ファイル操作子､に対応するものの一つでなければならない｡ name gives the name of a file that is to be read to supply data for the photo image. The file format must be one of those for which there is an image file format handler that can read data.

-gamma value
  窓内にこの影像を表示する為に割当てられる色が､非直線性表示装置について補正されるべき指定されたガンマ冪数値を指定する｡(大多数のブラウン管表示によって生成された量は､良好な近似では､入力値の冪数である; ガンマは冪数で典型的には 2に近い)｡指定される値は零より大きくなくてはならない｡省略時設定は１(補正なし)である｡一般に１より大きい値は影像を明るくし､１より小さい値は暗くする｡ 　　　 Specifies that the colors allocated for displaying this image in a window should be corrected for a non-linear display with the specified gamma exponent value. (The intensity produced by most CRT displays is a power function of the input value, to a good approximation; gamma is the exponent and is typically around 2). The value specified must be greater than zero. The default value is one (no correction). In general, values greater than one will make the image lighter, and values less than one will make it darker.

-height number
  影像の高さを画素単位で指定する｡この指示項目は､主として､使用者が影像の内容を一つづつ作り上げたい状況で便利である｡零の値(省略時設定)はその中に保存したデータに合わせて影像が垂直に伸張又は収縮することを許容する｡ Specifies the height of the image, in pixels. This option is useful primarily in situations where the user wishes to build up the contents of the image piece by piece. A value of zero (the default) allows the image to expand or shrink vertically to fit the data stored in it.

-palette palette-spec
  この影像を表示する為に割当てられる色立体の解像度を指定する､そこで表示されている画素地図から使われている色の数である｡ palette-spec 文字列は灰色の明度に使われている数を表す一つの十進数でもよく､又斜線(/)で区切られた三つの十進数であって､赤､緑､青の明度に使われる数を表しているものでもよい｡もし初めの形式(一つの数字)が使われる場合､影像は白黒で表示される(即ち､灰色の明度表示)｡ Specifies the resolution of the color cube to be allocated for displaying this image, and thus the number of colors used from the colormaps of the windows where it is displayed. The palette-spec string may be either a single decimal number, specifying the number of shades of gray to use, or three decimal numbers separated by slashes (/), specifying the number of shades of red, green and blue to use, respectively. If the first form (a single number) is used, the image will be displayed in monochrome (i.e., grayscale).

-width number
  影像の幅を画素単位で指定する｡この指示項目は､主として､使用者が影像の内容を一つづつ作り上げたい状況で便利である｡零の値(省略時設定)はその中に保存したデータに合わせて影像が水平に伸張又は収縮することを許容する｡ Specifies the width of the image, in pixels. This option is useful primarily in situations where the user wishes to build up the contents of the image piece by piece. A value of zero (the default) allows the image to expand or shrink horizontally to fit the data stored in it.

### 影像命令 IMAGE COMMAND

写影の影像が作成される時､Tk も影像と同じ名前の新しい命令を作成する｡この命令は影像上の種々の操作の起動に使用できる｡それは次の一般形式を有する: When a photo image is created, Tk also creates a new command whose name is the same as the image. This command may be used to invoke various operations on the image. It has the following general form:

    imageName option ?arg arg ...?

option と arg は命令の正確な振舞いを定める｡ Option and the args determine the exact behavior of the command.

構成設定指示項目の為の､ -width や -height を使用者が非零値に指定してその中の､幅 や 高さがそれぞれ変化しないようにしない限り､必要なら書かれたデータを影像に収容するために､影像にデータを書く指示項目は一般に影像の寸法を拡張する｡ Those options that write data to the image generally expand the size of the image, if necessary, to accommodate the data written to the image, unless the user has specified non-zero values for the -width and/or -height configuration options, in which case the width and/or height, respectively, of the image will not be changed.

次の命令が写影の影像のために可能である: The following commands are possible for photo images:

imageName blank
  虚な影像; それは影像全体がデータなしに設定する､それで透明に表示され､どのような窓がある背景でも透けて表示する｡ Blank the image; that is, set the entire image to have no data, so it will be displayed as transparent, and the background of whatever window it is displayed in will show through.

imageName cget option
  option で与えられる構成設定指示項目の現在の値を返す｡ option は image create photo 命令によって受入られるどのような値を有していてもよい｡ Returns the current value of the configuration option given by option. Option may have any of the values accepted by the image create photo command.

imageName configure ?option? ?value option value ...?
  影像の構成設定指示項目を問合せ又は指定する｡もし､ option が指定されないと､ imageName についての､全ての利用可能な指示項目を記述したリストが返る(このリストの書式の情報は Tk_ConfigureInfo を参照されたい)｡ value なしで option を指定すると､その名前の指示項目を記述したリストが返る(このリストは､ option を指定しない時に返るリストの部分リストになっている)｡もし､一つ或はそれ以上の option-value 対が指定されると､命令は､与えられた指示項目を与えられた値に修正する; この場合､命令は空文字列を返す｡ option は image create bitmap 命令に受入れられるどの様な値を有していてもよい｡　　　　 Query or modify the configuration options for the image. If no option is specified, returns a list describing all of the available options for imageName (see Tk_ConfigureInfo for information on the format of this list). If option is specified with no value, then the command returns a list describing the one named option (this list will be identical to the corresponding sublist of the value returned if no option is specified). If one or more option-value pairs are specified, then the command modifies the given option(s) to have the given value(s); in this case the command returns an empty string. Option may have any of the values accepted by the image create photo command.

imageName copy sourceImage ?option value(s) ...?
  sourceImage (それは写影の影像でなければならない)と呼ばれる影像から領域を､ imageName と呼ばれる影像に複写する､画素の連続拡大 及び/又は 部分抽出を伴うかもしれない｡もし指示項目が設定されないと､この命令は sourceImage 全体を imageName に複写する､複写は imageName 内の座標 (0,0) から開始する｡次の指示項目が指定できる: Copies a region from the image called sourceImage (which must be a photo image) to the image called imageName, possibly with pixel zooming and/or subsampling. If no options are specified, this command copies the whole of sourceImage into imageName, starting at coordinates (0,0) in imageName. The following options may be specified:

  -from x1 y1 x2 y2
    複写される源影像の矩形小領域を指定する｡ (x1,y1) と (x2,y2) は対角線上の反対の矩形の隅を指定する｡もし x2 と y2 が指定されないと､省略時設定は源影像の右底隅である｡複写された画素は指定された矩形の左上隅を含むが右底隅は含まない｡もし -from 指示項目が与えられないと省略時設定は源影像全体である｡ Specifies a rectangular sub-region of the source image to be copied. (x1,y1) and (x2,y2) specify diagonally opposite corners of the rectangle. If x2 and y2 are not specified, the default value is the bottom-right corner of the source image. The pixels copied will include the left and top edges of the specified rectangle but not the bottom or right edges. If the -from option is not given, the default is the whole source image.

  -to x1 y1 x2 y2
    影像の配付先として影響を受ける矩形小領域を指定する｡ (x1,y1) と (x2,y2) は対角線上の反対の矩形の隅を指定する｡もし x2 と y2 が指定されないと､省略時設定は(x1,y1) に源領域を加える(指定がある時は､部分抽出と連続拡大した後)｡もし x2 と y2 が指定されると､もしべた並べ方式の配付領域を満たすに必要な場合は源影像が折り返えされる｡ Specifies a rectangular sub-region of the destination image to be affected. (x1,y1) and (x2,y2) specify diagonally opposite corners of the rectangle. If x2 and y2 are not specified, the default value is (x1,y1) plus the size of the source region (after subsampling and zooming, if specified). If x2 and y2 are specified, the source region will be replicated if necessary to fill the destination region in a tiled fashion.

  -shrink
    配付する影像の寸法が減ぜられることを指定する､もし必要なら複写された領域が影像の右下隅になる｡もし使用者が非零値を -width か -height 構成設定指示項目にそれぞれ指定していた場合は､この指示項目は影像の幅と高さには影響しない｡ Specifies that the size of the destination image should be reduced, if necessary, so that the region being copied into is at the bottom-right corner of the image. This option will not affect the width or height of the image if the user has specified a non-zero value for the -width or -height configuration option, respectively.

  -zoom x y
    源領域は X 方向の係数 x と､Y 方向の係数 y の倍率であることを指定する｡もし y が与えられないと､省略時設定は x と同じである｡この指示項目ではそれぞれの源影像内の画素は配付影像内の x × y 画素の区域に拡張され全て同じ色になる｡ x と y は 0 より大きくなければならない｡ Specifies that the source region should be magnified by a factor of x in the X direction and y in the Y direction. If y is not given, the default value is the same as x. With this option, each pixel in the source image will be expanded into a block of x x y pixels in the destination image, all the same color. x and y must be greater than 0.

  -subsample x y
    源影像を X 方向の x 番目毎の画素と､Y 方向の係数 y 番目毎の画素だけを使う寸法に減じることを指定する｡負の値は影像を Y 又は X 軸に対してそれぞれ裏返しを引起す｡もし y が与えられないと､省略時設定は x と同じである｡ Specifies that the source image should be reduced in size by using only every xth pixel in the X direction and yth pixel in the Y direction. Negative values will cause the image to be flipped about the Y or X axes, respectively. If y is not given, the default value is the same as x.

  -compositingrule rule
    如何に源影像内の透明の画素が配付先の影像と結びつくかを指定する｡結合規則の overlay が設定されると､恰も源影像が透明な箔の片上に印刷され配付先の上に重ねて置かれる様に､配付先の旧内容が可視になる｡結合規則の set が設定されると､配付先影像の旧内容と源影像が削除され､そして､源影像がありのままで使用される｡省略時設定は overlay である｡ Specifies how transparent pixels in the source image are combined with the destination image. When a compositing rule of overlay is set, the old contents of the destination image are visible, as if the source image were printed on a piece of transparent film and placed over the top of the destination. When a compositing rule of set is set, the old contents of the destination image are discarded and the source image is used as-is. The default compositing rule is overlay.

imageName data ?option value(s) ...?
  影像データを文字列形式で返す｡次の指示項目を指定してもよい: Returns image data in the form of a string. The following options may be specified:

  -background color
    もし色が指定されると､データは何も透明性の情報を含まない｡全ての透明な画素は色が指定された色と置換えられる｡ If the color is specified, the data will not contain any transparency information. In all transparent pixels the color will be replaced by the specified color.

  -format format-name
    使うべき影像ファイル書式操作子の名前を指定する｡特に､この副命令は､その名前が最初の部分文字列の format-name と合致し､この影像データを含む文字列を書く能力を有する､最初の操作子を捜す｡もしこの指示項目が与えられないと､この副命令は､ “#rrggbb” の書式(ここで rr は赤の通信路の十六進数の対､ gg は緑､bb は青である)の色のリスト(一つの要素につき 画素/列)のリスト(一つの要素/行)から構成される書式を使う｡　　　 Specifies the name of the image file format handler to be used. Specifically, this subcommand searches for the first handler whose name matches an initial substring of format-name and which has the capability to write a string containing this image data. If this option is not given, this subcommand uses a format that consists of a list (one element per row) of lists (one element per pixel/column) of colors in “#rrggbb” format (where rr is a pair of hexadecimal digits for the red channel, gg for green, and bb for blue).

  -from x1 y1 x2 y2
    返される imageName の矩形の領域を指定する｡もし x1 と y1 だけが指定されると､領域は (x1,y1) から imageName の右下隅に拡張される｡もし四つの座標が与えられると､それは矩形領域の対角線に反対の隅を指定し､ x1,y1 を含み､ x2,y2 は手前までしか含まない｡省略時設定は､もし指示項目が与えられないと影像全体である｡ Specifies a rectangular region of imageName to be returned. If only x1 and y1 are specified, the region extends from (x1,y1) to the bottom-right corner of imageName. If all four coordinates are given, they specify diagonally opposite corners of the rectangular region, including x1,y1 and excluding x2,y2. The default, if this option is not given, is the whole image.

  -grayscale
    もしこの指示項目が指定されると､データは色の情報を含まない｡全ての画素データは灰色の明度に翻訳される｡ If this options is specified, the data will not contain color information. All pixel data will be transformed into grayscale.

imageName get x y
  影像の座標位置 (x,y) の色を､それぞれ赤､緑､青の構成要素を表す 0 と 255 の間の三つの整数からなるリストとして返す｡ 　　　　　　 Returns the color of the pixel at coordinates (x,y) in the image as a list of three integers between 0 and 255, representing the red, green and blue components respectively.

imageName put data ?option value(s) ...?
  imageName 内の画素に data 内に指定されたデータを置く｡この命令は､初めに､ data 中のデータを解釈実行できる操作子を求めて､影像ファイル書式操作子のリストを捜索する､次に､符号化された影像を読み(送付影像を) imageName に入れる｡もし data が既知のどの書式にも合致しない場合､それぞれの走査線が(左から右への)画素色のリスト(適正な色の記述は Tk_GetColor を参照されたい)よりなる､走査線のリストとして作成されているとして解釈を試みる｡全ての走査線は同じ長さでなければならない｡註意すべきは､ data が単一の色の名前の時は､使用者は Tk にその色を使って矩形領域を満たすことを指示すべきである｡次の指示項目が指定できる: 　　　　　 Sets pixels in imageName to the data specified in data. This command first searches the list of image file format handlers for a handler that can interpret the data in data, and then reads the image encoded within into imageName (the destination image). If data does not match any known format, an attempt to interpret it as a (top-to-bottom) list of scan-lines is made, with each scan-line being a (left-to-right) list of pixel colors (see Tk_GetColor for a description of valid colors.) Every scan-line must be of the same length. Note that when data is a single color name, you are instructing Tk to fill a rectangular region with that color. The following options may be specified:

  -format format-name
    data 内の影像データの書式を指定する｡特に､データを読むべき影像データ書式操作子を求めて捜索している間は､その名前が format-name で始まる書式操作子のみが使われる｡ 　　　 Specifies the format of the image data in data. Specifically, only image file format handlers whose names begin with format-name will be used while searching for an image data format handler to read the data.

  -to x1 y1 ?x2 y2?
    其処に影像データが複写されるべき imageName の領域の左上隅の座標を指定する｡省略時設定の位置は (0,0)｡もし x2,y2 が与えられ､ data がこの指示項目により指定された矩形を覆うに足る程大きくない場合､抽出された影像データが配付先矩形の全体を覆って貼られる｡註意すべきは､もし data が一つの色の値を指定すると (x2,y2) によって表現される右下隅に広がる領域はその色が充填される｡ 　　 Specifies the coordinates of the top-left corner (x1,y1) of the region of imageName into which the image data will be copied. The default position is (0,0). If x2,y2 is given and data is not large enough to cover the rectangle specified by this option, the image data extracted will be tiled so it covers the entire destination rectangle. Note that if data specifies a single color value, then a region extending to the bottom-right corner represented by (x2,y2) will be filled with that color.

imageName read filename ?option value(s) ...?
  影像データを filename の名前のファイルから読み影像に入れる｡この命令は最初に filename 内のデータを解釈実行できる操作子のための影像ファイル書機器操作子のリストを捜す､次に filename 内の影像を読み imageName に入れる(配付影像)｡次の指示項目を指定してもよい: Reads image data from the file named filename into the image. This command first searches the list of image file format handlers for a handler that can interpret the data in filename, and then reads the image in filename into imageName (the destination image). The following options may be specified:

  -format format-name
    filename 内の影像データの書式を指定する｡ 特に､データを読むべき影像データ書式操作子を求めて捜索している間は､その名前が format-name で始まる書式操作子のみが使われる｡ 　　　 　　　 Specifies the format of the image data in filename. Specifically, only image file format handlers whose names begin with format-name will be used while searching for an image data format handler to read the data.

  -from x1 y1 x2 y2
    配付影像に複写される影像ファイルデータの矩形の部分領域を指定する｡もし x1 と y1 だけが指定されると､領域は (x1,y1) から影像ファイル内の影像の右下隅に拡張される｡もし四つの座標が与えられると､それは矩形領域の対角線に反対の隅を指定する｡省略時設定は､もし指示項目が与えられないと影像全体である｡ Specifies a rectangular sub-region of the image file data to be copied to the destination image. If only x1 and y1 are specified, the region extends from (x1,y1) to the bottom-right corner of the image in the image file. If all four coordinates are specified, they specify diagonally opposite corners or the region. The default, if this option is not specified, is the whole of the image in the image file.

  -shrink
    もしこの指示項目があると､ imageName の寸法は減ぜられる､もし必要なら､影像ファイルデータが読まれる領域は imageName の右下隅にあたる｡もし使用者が非零値を -width か -height 構成設定指示項目にそれぞれ指定していた場合は､この指示項目は影像の幅と高さには影響しない｡ If this option, the size of imageName will be reduced, if necessary, so that the region into which the image file data are read is at the bottom-right corner of the imageName. This option will not affect the width or height of the image if the user has specified a non-zero value for the -width or -height configuration option, respectively.

  -to x y
    そこに filename からのデータを読み込む imageName の領域の左上隅の座標を指定する｡省略時設定は (0,0)｡ Specifies the coordinates of the top-left corner of the region of imageName into which data from filename are to be read. The default is (0,0).

imageName redither
  写影の影像の表示に使われるデイザ算出方法は一つの画素から隣に量子化誤差を伝播する｡もし imageName の為の小片の影像データが与えられた場合､デイザ式影像は正確には矯正できない｡通常差異は気付かれないが､問題がある場合この命令は影像が表示されているそれぞれの窓内のデイザ処理された影像の再計算に使うことができる｡ The dithering algorithm used in displaying photo images propagates quantization errors from one pixel to its neighbors. If the image data for imageName is supplied in pieces, the dithered image may not be exactly correct. Normally the difference is not noticeable, but if it is a problem, this command can be used to recalculate the dithered image in each window where the image is displayed.

imageName transparency subcommand ?arg arg ...?
  写影の影像内の透明の情報の試験と操作を許容する｡幾つかの副命令が使用できる: Allows examination and manipulation of the transparency information in the photo image. Several subcommands are available:

  imageName transparency get x y
    場所 (x,y) の画素が透明であるかを指し示す論理値を返す｡ Returns a boolean indicating if the pixel at (x,y) is transparent.

  imageName transparency set x y boolean
    もし boolean が真値なら (x,y) の画素を透明にする､それ以外は不透明にする｡ Makes the pixel at (x,y) transparent if boolean is true, and makes that pixel opaque otherwise.

imageName write filename ?option value(s) ...?
  影像データを imageName から filename と謂う名前のファイルに書く｡次の指示項目が指定できる: Writes image data from imageName to a file named filename. The following options may be specified:

  -background color
    もし､色が指定されていると､データはどんな透明性の情報をも含まない｡全ての透明な画素は指定された色に置換えられる｡ If the color is specified, the data will not contain any transparency information. In all transparent pixels the color will be replaced by the specified color.

  -format format-name
    データをファイルに書込む為に使用される影像ファイル形式操作子の名前を指定する｡特に､この副命令は､その名前が最初の部分文字列の format-name と合致し､この影像データを含む文字列を書く能力を有する､最初の操作子を捜す｡ もしこの指示項目が与えられないと､この副命令はファイル拡張子から推定する｡もし決定できないと､この副命令は影像ファイルを書く能力を有する最初の操作子を使用する｡ 　　 Specifies the name of the image file format handler to be used to write the data to the file. Specifically, this subcommand searches for the first handler whose name matches an initial substring of format-name and which has the capability to write an image file. If this option is not given, the format is guessed from the file extension. If that cannot be determined, this subcommand uses the first handler that has the capability to write an image file.

  -from x1 y1 x2 y2
    影像ファイルに書かれる imageName の矩形の領域を指定する｡もし x1 と y1 だけが指定されると､領域は (x1,y1) から imageName の右下隅に拡張される｡もし四つの座標が与えられると､それは矩形領域の対角線に反対の隅を指定する｡省略時設定は､もし指示項目が与えられないと影像全体である｡ Specifies a rectangular region of imageName to be written to the image file. If only x1 and y1 are specified, the region extends from (x1,y1) to the bottom-right corner of imageName. If all four coordinates are given, they specify diagonally opposite corners of the rectangular region. The default, if this option is not given, is the whole image.

  -grayscale
    もしこの指示項目が指定されると､データは色の情報を含まなくなる｡全ての画素データは白黒の明度に翻訳される｡ 　　　 If this options is specified, the data will not contain color information. All pixel data will be transformed into grayscale.

### 影像形式 IMAGE FORMATS

写影の影像命令譜は､操作子に対して容易に追加される追加的影像ファイル書式を許容するよう構築される｡写影の影像命令譜はこれらの操作子のリストを維持する｡操作子は Tk_CreatePhotoImageFormat 呼出しを使って登録してそのリストに追加される｡標準 Tk は､初期化の際に自動的に登録される PPM/PGM と PNG と GIF 書式の為の操作子を伴って､出版される｡ 　　　 　　　 The photo image code is structured to allow handlers for additional image file formats to be added easily. The photo image code maintains a list of these handlers. Handlers are added to the list by registering them with a call to Tk_CreatePhotoImageFormat. The standard Tk distribution comes with handlers for PPM/PGM, PNG and GIF formats, which are automatically registered on initialization.

影像ファイルの読み込む時､又は -data 構成設定指示項目を使って指定された文字列データを処理する時に､写影の影像命令譜はどれかがファイル中のデータ又は文字列を読む事が可能と宣言する迄それぞれの操作子を順番に起動する｡通常これで正しい操作子が見付けられるが､もしだめなら､使用者は使う操作子を指定するために -format 指示項目を使って書式の名前を与えてもよい｡実際､写影の影像命令譜はその名前が -format 指示項目で指定された文字列で始まる名前の操作子を試みる(大文字小文字の差無視して捜す)｡譬えば､もし使用者が -format gif を指定すると GIF87 か GIF89 の名前の操作子が起動されるかもしれないが､ JPEG の名前の操作子は起動されないであろう(そのような操作子が登録されていると仮定して)｡ 　　　 When reading an image file or processing string data specified with the -data configuration option, the photo image code invokes each handler in turn until one is found that claims to be able to read the data in the file or string. Usually this will find the correct handler, but if it does not, the user may give a format name with the -format option to specify which handler to use. In fact the photo image code will try those handlers whose names begin with the string specified for the -format option (the comparison is case-insensitive). For example, if the user specifies -format gif, then a handler named GIF87 or GIF89 may be invoked, but a handler named JPEG may not (assuming that such handlers had been registered).

影像データをファイルに書く時､ -format 指示項目の処理は少し異なっている: -format 指示項目に与えられる文字列値は要求されている操作子の完全な名前で始まらねばならない､また､それに続いて､その操作子が使用できる追加的な情報を含んでも好い､譬えば､操作子によって運営されている書式を使用する為の変形型を指定する｡註意すべきは､縦え目的の影像書式が運営していても､全ての影像操作子が透明性データをファイルに書くことを運営しているわけではない｡ 　　　　 When writing image data to a file, the processing of the -format option is slightly different: the string value given for the -format option must begin with the complete name of the requested handler, and may contain additional information following that, which the handler can use, for example, to specify which variant to use of the formats supported by the handler. Note that not all image handlers may support writing transparency data to a file, even where the target image format does.

#### 形式の副指示項目 FORMAT SUBOPTIONS

幾つかの影像形式は副指示項目を運用し､それは -format 指示項目内の追加的語を使って影像が組込まれる時に指定される｡本説明書執筆時点では､次のものに対応している: 　　 Some image formats support sub-options, which are specified at the time that the image is loaded using additional words in the -format option. At the time of writing, the following are supported:

gif -index indexValue
  多重部分 GIF 影像を解析する時､ Tk は通常第一の影像のみを利用する｡ -index 副指示項目を与えることにより､代りに indexValue 番目の値が利用される｡ indexValue は零から GIF データ内の影像部分番号の間の整数でなければならない｡ When parsing a multi-part GIF image, Tk normally only accesses the first image. By giving the -index sub-option, the indexValue'th value may be used instead. The indexValue must be an integer from 0 up to the number of image parts in the GIF data.

png -alpha alphaValue
  影像全体の為の追加的アルファー櫛であり､そこでは影像が透かして表示される様な背景を許容する｡これは通常､影像の非飽和効果を有する｡ alphaValue は 0.0 と 1.0 の間でなければならない｡ An additional alpha filtering for the overall image, which allows the background on which the image is displayed to show through. This usually also has the effect of desaturating the image. The alphaValue must be between 0.0 and 1.0.

### 色の割付け　COLOR ALLOCATION

写影の影像が窓内に表示される時､利用可能な色を使う影像の合理的な近似を表示する為､写影の影像命令譜は必要に応じ､影像を表示する為に色を割当て､影像をデイザ技術処理する｡色は色立体として割当てられる､即ち､割当てられる色の数は赤､緑､青の明度の数の積になる｡ 　　　　 When a photo image is displayed in a window, the photo image code allocates colors to use to display the image and dithers the image, if necessary, to display a reasonable approximation to the image using the colors that are available. The colors are allocated as a color cube, that is, the number of colors allocated is the product of the number of shades of red, green and blue.

通常､割当てられる色の数は窓の深さを元に選択される｡譬えば､８ビットの擬似天然色窓内では､写影の影像命令譜は七つの明度の赤､七つの明度の緑､四つの明度の青､合計１９８色を割当てようとする｡１ビットのStaticGray (白黒)窓では白と黒の二つの色に割付けることになる｡２４ビットのDirectColorやTrueColor 窓では､赤､緑､青のそれぞれに256の明度を割付けることになる｡幸いにも画素の値はDirectColorやTrueColor の窓に結合可能であるので､割当てるべき256色だけを要求している｡もし､全ての色が割当てることができない場合､写影の影像は原色のそれぞれの明度の数を減らして再度割当を試みる｡(訳註 DirectColor TrueColor StaticGray はX Window System での色の扱い技法の一種) 　　　　 Normally, the number of colors allocated is chosen based on the depth of the window. For example, in an 8-bit PseudoColor window, the photo image code will attempt to allocate seven shades of red, seven shades of green and four shades of blue, for a total of 198 colors. In a 1-bit StaticGray (monochrome) window, it will allocate two colors, black and white. In a 24-bit DirectColor or TrueColor window, it will allocate 256 shades each of red, green and blue. Fortunately, because of the way that pixel values can be combined in DirectColor and TrueColor windows, this only requires 256 colors to be allocated. If not all of the colors can be allocated, the photo image code reduces the number of shades of each primary color and tries again.

使用者は､写影の影像が -palette 構成設定指示項目によって使う色の数に亙る幾つかの制御を行使することができる｡もしこの指示項目が使われると､それぞれの原色に割当てを試みる最大の明度の数を指定する｡縦え色付き表示装置上であっても､斜線で区切られた三つの数ではなく一つの数を与えて､灰色の明度内で影像が表示されることを強制することに使用できる｡ 　　　　 The user can exercise some control over the number of colors that a photo image uses with the -palette configuration option. If this option is used, it specifies the maximum number of shades of each primary color to try to allocate. It can also be used to force the image to be displayed in shades of gray, even on a color display, by giving a single number rather than three numbers separated by slashes.

### 著作権表示 CREDITS

写影の影像の型は Paul Mackerras 氏により設計され実装された､彼の初期の写影部品と幾らかの John Ousterhout 氏の示唆を基礎にしている｡ The photo image type was designed and implemented by Paul Mackerras, based on his earlier photo widget and some suggestions from John Ousterhout.

### 用例 EXAMPLE

ファイルから影像を組込み窓の寸法に貼りこむ､これはべた張りの背景作成に便利である: 　　 Load an image from a file and tile it to the size of a window, which is useful for producing a tiled background:

    # 次の二行は１度だけ呼ばれる
    # These lines should be called once
    image create photo untiled -file "theFile.ppm"
    image create photo tiled

    # 次の行は .someWidget が寸法変更すると何時でも呼ばれる｡
    # 此処では <Configure> 束縛が便利である
    # These lines should be called whenever .someWidget changes
    # size; a <Configure> binding is useful here
    set width  [winfo width .someWidget]
    set height [winfo height .someWidget]
    tiled copy untiled -to 0 0 $width $height -shrink

この PNG 影像組込み譜は組込み中に追加的なアルファ因子の応用譜を許容する､これは使えない釦に適した影像の生成に便利である｡ 　 The PNG image loader allows the application of an additional alpha factor during loading, which is useful for generating images suitable for disabled buttons:

    image create photo icon -file "icon.png"
    image create photo iconDisabled -file "icon.png" \
            -format "png -alpha 0.5"
    button .b -image icon -disabledimage iconDisabled

### SEE ALSO

image

### KEYWORDS

photo, image, color
Copyright © 1994 The Australian National University
Copyright © 1994-1997 Sun Microsystems, Inc.