プロが教える店舗&オフィスのセキュリティ対策術

java iアプリ に関する 「画像をスクラッチパッドに保存」 についての質問です。

画像をスクラッチパッドに保存したいのですが、初心者なので多数のサイト見てもイマイチわかりません。

try {
DataOutputStream out = Connector.openDataOutputStream("scratchpad:///0;pos=" + basyo);
out.writeUTF( out_data );
out.close();
System.out.println("スクラッチパッド文字 書込OK!");
} catch (Exception e) {
System.out.println("スクラッチパッド文字 書込エラー");
}

これは、文字を保存する為に書いたソースなのですが、画像の場合をわかりやすくご指導いただけないでしょうか?

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

A 回答 (2件)

なにか調べられたのでしょうか?


丸投げすると何を説明したらいいのか回答が付けにくいです。
また、スクラッチパッドでの質問ということは基本からだと思うので、
見られているかもしれませんが、参考になるサイトを紹介します。
これらを一通りすれば基本はOKでしょう。

それでも分からない場合○○のコードの部分が分かりません。と絞って質問した方がいいです。

ITMedia(今回の質問の回答が載っています。)
http://plusd.itmedia.co.jp/mobile/rensai/#gameia …

NTTDocomo(公式ページ。技術資料など豊富にあります。使用法などこれを読めばOK。)
http://www.nttdocomo.co.jp/service/imode/make/co …

@IT(参考)
http://www.atmarkit.co.jp/fmobile/rensai/index/r …

ITMedia(参考)
http://plusd.itmedia.co.jp/mobile/rensai/#one

この回答への補足

大変申し訳ありません。ご紹介されたサイトは全て読みました。

説明不足ですいません。

わからない部分というのは、上記の資料によるとサーバーから書き込んでいる方法が大半で、ImageStore.selectEntry();をユーザーが利用して、自分の写真を読み込んだ画像のスクラッチパッドへの保存方法がわからないのです。

おそらく、どこかでバイトの様な形式にかえて、バイトひとつづつスクラッチパッドに保存しなければいけないと、おもうのですが参考にした資料のどの部分がバイトに変えている部分なのかがわからないのです。

文字や数値などは書込む事ができます。

サーバーから画像を読み込んでそのままスクラッチパッドに保存する方法もわかりました。

ただ、変数に入っている画像をスクラッチに保存するまでの流れがどうしてもわかりません。画像を1バイトづつバラバラにするのでしょうか?

ちんぷんかんぷんな事をいっているかもしれませんが、今現時点であちこち見て回り、精一杯努力しているつもりです。

もし、よろしければもう一度ご指導お願いします。どうしても理解がつかめず、2日ほど迷っています。

補足日時:2006/09/29 16:32
    • good
    • 0

こんばんは。

方法は下のような流れでできると思います。
1.ImageStoreからInputStream取得
2.InputStreamでバッファにデータ取得
3.バッファのデータをスクラッチパッドに書込み
==================================================
import java.io.*;
import javax.microedition.io.*;
import com.nttdocomo.ui.*;
import com.nttdocomo.system.*;

public class Test extends IApplication {
public void start() {
byte[] buf = new byte[102400];
try {
// 選択
ImageStore is = ImageStore.selectEntry();
// 画像データ管理機能から読込み
InputStream in = is.getInputStream();
int len = in.read(buf);
in.close();
// スクラッチパッドに書込み
OutputStream out = Connector.openOutputStream("scratchpad:///0;pos=0");
out.write(buf, 0, len);
out.close();
// スクラッチパッドから読込み
MediaImage mi = MediaManager.getImage("scratchpad:///0;pos=0");
mi.use();
Image img = mi.getImage();
Panel p = new Panel();
ImageLabel il = new ImageLabel(img);
p.add(il);
Display.setCurrent(p);
}
catch(Exception e) {
e.printStackTrace();
}
}
}
    • good
    • 0
この回答へのお礼

ソースまでつけて頂いてありがとうございます。

自分のやりたい事にピッタリフィットしました!

質問が足らず、混乱させてしまってすいません。

今後とも、何かありましたらよろしくお願いいたします。

ありがとうございました!

お礼日時:2006/10/02 17:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!