こんばんはk_tunedです、ようこそAppInventorの世界へ(笑
さておき、質問は撮影した写真をプリクラみたいに装飾して、画像ファイルで保存するアプリなイメージでよろしかったでしょうか?
それならば、合成させる写真(撮影したものではないほう)をImageSpriteを使って表示させれば解決できるかもできません。
サンプルを作成しましたので、ご参考いただければ幸いです。
サンプルアプリ(apkファイル。内容:撮影した画像を背景にして、リストから絵を選び、2つを合成したものを表示する。保存を押すと/sdcardにdemophoto.jpgとして合成画像を保存する)
http://www.rairaiken.org/andro/fileopenpaint.apk
ソースファイル(zipをprojects→moreaction→uploadから上げてください)
http://www.rairaiken.org/andro/fileopenpaint.zip
k_tuned
株式会社来々軒 http://www.rairaiken.org
こんばんは、今日は早く帰宅できたので質問の件回答します。長文すみません。
> ところで質問があります。
> ImageSpriteでは、表示できる画像が一枚だけに限られるのでしょうか?
1つのImageSpriteで1枚のみ設定可能です。もし複数枚置きたいならば、複数のImageSprite Compomentsを置けばOKです。
> 例えば [ListPicker] から [りんご]を選択→[指定フォルダに保存してある画像(.png)を全て呼び出してcanvasに表
> 示]→[背景画像の上に呼び出した画像を表示させて手で横スクロールさせて画像を選択]→[合わせて気に入った画像をcanvasごと保存] させたい
> のです。
> 呼び出す画像を重ねるイメージは、スマホのアルバムとか撮影した写真を一枚ずつ見る感覚です。
> その感覚で背景画像は固定、呼び出した画像は横スクロールで重ねて見たい。という感じです。
ということは合成させる写真は端末のデータフォルダから参照させるような感じでしょうか。
それならばImagePicker(Mediaより) Compomentsを使用すれば良いです。
使用すると、データフォルダ内の写真一覧から選択するメニューが出てきます。
>となると、TinyDBのようなものを使った方が良いのでしょうか。TinyDBは画像の保存や呼び出しができるのか不明ですが・・・。
>そもそもTinyDBだってどう扱えば良いのか途方に暮れています。
もし、再度アプリを開いたときに合成させた写真の情報を読み込みたい時に有効かと思います、今回の希望されるアプリには不要かな??(imagePickerで選択したときに、TinyDBへ写真情報を保存。起動したときにTinyDBに記録した写真情報を読み込むような感じ…)
一応、ブログに簡単にやりかたがありますのでご参考ください。
http://www.rairaiken.org/?p=678
TinyDBが使えるようになりますと、自由度がかなりあがりますね(私も覚えるまで苦労しました…)
ソースファイルだけですが、ImagePickerをを追加しました。ご参考にしてください。
http://www.rairaiken.org/andro/fileopenpaint(2).zip
以上 わかりにくいかもしれませんが、お役に立てば幸いです^^
k_tuned
こんばんは、おっ!一歩前進ですか良かったです。
>ところで、image(jpgとかpng)をcanvasに置いたときにピンチイン・ピンチアウトと画像を自由に動かすイベントは
>AppInventorでは可能なのでしょうか?
ピンチイン・ピンチアウトは残念ながら使えないようです。
画像を自由に動かすのであれば、例としてImageSpriteの写真をドラッグした場所に動かすことが可能です。
動かしたいImageSpriteのBlocksから******.Draggedを選んで、その下に*****.moveto
のブロックを置けば動かせるようになります。
置き方はブロックの写真をみていただけるのが一番わかりやすいと思います。
以上 です。
k_tuned
>通常ならばimageブロックだったら可能だと思うのですが、ImageSpriteで呼び出した画像をタップしたら次の画像に変えられることはできる
>のでしょうか?
>Listpickerで選択→ImagePickerで画像一枚呼び出し→その画像をタップしたら次の画像に変わる→何枚か同じことを繰り返す
次の画像ではなく、画像を押せば毎回ImagePickerを開く動作設定は可能です。
ImageSpritesのBlocksにTouched(押した時の反応)がありますので、Touchedの中にImagePicker1.Openを引っ張ってくれば、ImageSpritesの画像を押した時に、ImagePickerを読み出すことができます。
こんな感じでよろしかったでしょうか。
k_tuned
--このディスカッションをウェブ上で閲覧するには、https://groups.google.com/d/msg/app-inventor-jp/-/w_73crQAFRQJ にアクセスしてください。
このメールは Google グループのグループ「日本App Inventorユーザー会」の登録者に送られています。
このグループに投稿するには、app-inv...@googlegroups.com にメールを送信してください。
このグループから退会するには、app-inventor-...@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/app-inventor-jp?hl=ja からこのグループにアクセスしてください。
このグループに投稿するには、app-inv...@googlegroups.com にメールを送信してください。
このグループから退会するには、app-inventor-jp+unsubscribe@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/app-inventor-jp?hl=ja からこのグループにアクセスしてください。
このグループに投稿するには、app-inv...@googlegroups.com にメールを送信してください。
このグループから退会するには、app-inventor-jp+unsubscribe@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/app-inventor-jp?hl=ja からこのグループにアクセスしてください。
このディスカッションをウェブ上で閲覧するには、https://groups.google.com/d/msg/app-inventor-jp/-/zwQ-229poHsJ にアクセスしてください。
このグループに投稿するには、app-inv...@googlegroups.com にメールを送信してください。
このグループから退会するには、app-inventor-...@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/app-inventor-jp?hl=ja からこのグループにアクセスしてください。