• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:日本の白地図の画像に、都道府県ごとに色を塗りたい)

日本の白地図に都道府県ごとに色を塗りたい

このQ&Aのポイント
  • 日本の白地図画像を使用し、都道府県ごとに色を指定してマッピングするプログラムの作成方法について教えてください。
  • 画像を取り込み、指定した範囲を塗りつぶすプログラムを作成する方法を知りたいです。
  • 参考になるサイトや書籍の情報を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

う~ん、私ならsvg形式の白地図を使いますね。たとえばwikipedia の「日本地図.svg」なんかは県境を描画して中身を#bbee66で塗りつ ぶしたデータです。これの各都道府県のpathにidを振っておいて、 javascriptからDOMをいじってfill属性を付加してやれば、簡単に好 みの色で塗りつぶすことが出来ます。 私はjavascriptもあんまり詳しくないんですけど、とりあえずDOMイ ンスペクタやテキストエディタでいじってみて簡単に出来たので。

Gauze_goo
質問者

お礼

ありがとうございます。 svg形式やDOMという言葉を初めて聞いたので、まずはそこから理解してみます。 質問する前は何か本を一冊読めば出来るだろうと考えていたのですが、安直でしたね…。勉強します。

その他の回答 (3)

noname#84373
noname#84373
回答No.4

塗りつぶせるかどうかは、?ですが、もしやるとしたら 各都道府県の画像を背景を透明にして、土地の部分だけを塗りつぶした画像を白地のものとそれ以外の色でつくります 各県の配置は、白地の画像を絶対値指定で配置します 指定された県だけ、色付きの画像に変えればできると思います 提示されたサイトは、おそらくアウトラインデータをビットマップに変換しています なのでPHPとかでなら、同じ機能を実現できると思います でも道のりは、かなり遠いと思います

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.2

「塗り潰し」は面倒なので、考え方を変えましょう。 「白地図を、パレット付きのインデックスカラーの画像データ」にして、最初からすべて違う色で塗り分けてしまえば良いのです。 例えば、256色カラーの画像にして カラー0:海岸線(黒) カラー1:北海道(白色) カラー2:青森(白色) (略) カラー47:沖縄(白色) カラー48:県境いの線(灰色) カラー49:湖沼、海洋(白色) カラー50~255:未使用 という画像を用意します。 ここで「北海道を水色にする」なら「カラーパレットデータの1番を水色に書き換える」と、北海道が水色になります。 画像をファイルにして置いておくなら「1番のカラーパレットデータが格納されている場所」は「ファイルの先頭から○○バイト目」と言う感じで固定されているので、ファイルの中身を書き換えるのは簡単です(※) カラーパレットデータは、0番から255番まで、規則的に順番通りに並んでいるので、計算で位置を求めるのも可能な筈です。 ※PNG画像ファイルの場合は、ファイルの一部を書き換えたらチェックサムも書き換えないと上手く行かないので、簡単には行きません。

Gauze_goo
質問者

お礼

ありがとうございます。 「パレット付きのインデックスカラーの画像データ」という言葉の意味が理解できないので、勉強不足ですね…。 まずは調べて、自分で実装してみます。

  • DIooggooID
  • ベストアンサー率27% (1730/6405)
回答No.1
Gauze_goo
質問者

お礼

ありがとうございます。参考にさせて頂きます。

関連するQ&A