[Seasar-user:19001] [mobylet] パソコン用絵文字画像について

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2009年 12月 8日 (火) 17:32:44 JST


原です。いつもお世話になっております。

mobyletのパソコン用絵文字画像のことでお聞きしたいことがあります。

私のゲーム攻略サイトで、ゲームマップの画像化を試みている関係で
mobyletのパソコン用絵文字画像を使わせていただきたいと思っています。

今まではテキストで表示していたのですが、マップが大きいと
携帯電話では折り返されてしまい見にくい状態になっていまうため
画像に変換して表示しようとしています。

テキストで表示するのであれば、i-modeの絵文字をそのままmobyletに渡せば
キャリアの判断をして絵文字か画像かを判断してくれているので
楽だったのですが、内部で画像に変換しようとすると
画像番号が分からなくて困ってしまいました。

一番うれしい対応としては
 ・i-mode絵文字とキャリアとの判断で絵文字の完全パスを返す
かなっと思っています。

今テストで組んだ画像化ソースは以下のような感じです。
 ※画像に関してかなり無知なので変なこともしているかもしれません・・・
--- ここからソース
	public static void makeMapImage(String id, String map, String conpath) 
throws IOException{
		File file = getImagePath( id, "map", ".gif" );
		//if (!file.exists()) {
			String[] maps = map.split("<BR>");
			int width = 0;
			for (int i=0; i < maps.length; i++) {
				if ( width < maps[i].length() ) {
					width = maps[i].length();
				}
			}
			BufferedImage image = new BufferedImage(width*15, maps.length*15, Buf
feredImage.TYPE_INT_RGB);
			BufferedImage bossImage = ImageIO.read(new File(conpath + "/mobylet-e
moji/E641.gif"));
			BufferedImage takaraImage = ImageIO.read(new File(conpath + "/mobylet
-emoji/E685.gif"));
			BufferedImage warpImage = ImageIO.read(new File(conpath + "/mobylet-e
moji/E643.gif"));

			Graphics2D graphics = image.createGraphics();

			graphics.setColor(Color.white);
			graphics.fillRect(0, 0, width*15, maps.length*15);
			graphics.setColor(Color.black);
			Font str_font=new Font(null, Font.PLAIN, 17);
			graphics.setFont(str_font);
			for (int i=0; i < maps.length; i++) {
				for (int j=0; j < maps[i].length(); j++) {
					String s = String.valueOf( maps[i].charAt(j) );
					if ( "ボ".equals( s ) || "?$".equals( s ) ) {
						graphics.drawImage(bossImage, j*15+3, i*15+3, null);
					} else if ( "ワ".equals( s ) || "?&".equals( s ) ) {
						graphics.drawImage(warpImage, j*15+3, i*15+3, null);
					} else if ( "宝".equals( s ) || "?h".equals( s ) ) {
						graphics.drawImage(takaraImage, j*15+3, i*15+3, null);
					} else {
						graphics.drawString(s, j*15, (i+1)*15);
					}
				}
			}
			graphics.dispose();

			ImageIO.write(image, "gif", file);

		//}
	}
--ここまで

検証用に設置したものは以下の通りです
http://sweetbat.ddo.jp/miraque_test/quest/map/764
http://sweetbat.ddo.jp/miraque_test/quest/map/863
http://sweetbat.ddo.jp/miraque_test/quest/map/864

使う画像は3つだけなのでごりごりソースに書けば済む
話っていやそうなんですが・・・
絵文字とファイル名の一覧があればうれしいかなぁ・・・

要望なんで時間があるときに対応してもらえたらうれしいです。

後、map/764についてなんですが、画像の横幅が大きすぎて
携帯電話の表示できる範囲で自動的に縮小されてしまうんですが、
大変見にくい状態です、これをmobyletの縮小機能を使うとかわりますでしょうか
?


Seasar-user メーリングリストの案内