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

Mikitaro Hachiyanagi [E-MAIL ADDRESS DELETED]
2009年 12月 8日 (火) 20:31:20 JST


原さん

八柳(mickey8)です。

> 一番うれしい対応としては
>  ・i-mode絵文字とキャリアとの判断で絵文字の完全パスを返す
> かなっと思っています。
絵文字画像のファイル名はEmojiクラスから引き当てられるようになっています
ので、
以下のような処理で絵文字画像のパスを取得することが可能です。

# mobylet-coreのorg.mobylet.view.designer.EmojiDesigner#getImageEmojiが
# 同様の処理を行なっていますので、こちらもご参照ください。

まずEmojiクラスを引数に取るメソッドを作成していただき、

public String getImageEmoji(Emoji emoji) {
MobyletConfig config = SingletonUtils.get(MobyletConfig.class);
return config.getEmojiImagePath() + "/" +
Integer.toHexString((int)emoji.getCodes()[0]).toUpperCase() + ".gif";
}

呼び出し側で、Emojiクラスは以下のようにして取得することが可能です。

EmojiPoolFamily family = SingletonUtils.get(EmojiPoolFamily.class);
Emoji emoji = family.getEmojiPool(Carrier.DOCOMO).get("雪");

「雪」と入っている箇所は、m:emojiタグのname属性に指定する値と同じものです。

上記で要件を満たせますでしょうか?


> 後、map/764についてなんですが、画像の横幅が大きすぎて
> 携帯電話の表示できる範囲で自動的に縮小されてしまうんですが、
> 大変見にくい状態です、これをmobyletの縮小機能を使うとかわりますでしょうか
>検証用の画面を拝見させていただきましたが、かなり小さくなりますね。
どの程度見やすくなるかは分かりませんが、ImageMagicで縮小を行なえば、
端末の自動縮小よりは綺麗になるかとは思います。

mobyletの画像リサイズ機能でImageMagicを使用する設定については以下をご参
照ください。
http://mobylet.seasar.org/settings/resize.html#imagemagick


よろしくお願いいたします。



[E-MAIL ADDRESS DELETED] さんは書きました:
> 原です。いつもお世話になっております。
>
> 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 mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
>   

-- 
◆----------------------Lei Hau'oli Co.,Ltd. ----------------------◆

 八柳 幹太郎(Hachiyanagi Mikitaro)
 Mail: [E-MAIL ADDRESS DELETED]

 株式会社Lei Hau'oli
 〒150-0001 東京都渋谷区神宮前4丁目18番6号
 Tel: 03-5775-0315 Fax: 03-5775-0314
◆-----------------------------------------------------------------◆



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