問題タブ [android-image]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Androidアプリケーションで多数のビデオと画像を使用する
Androidアプリケーションでビデオを使用したい。800本の動画(合計サイズ250MB)がありますが、Androidアプリケーションでどのように使用しますか?
画像と同じ3000画像(50-60 MB)
上記の合計サイズの画像や動画を使用したい場合はどうすればよいですか?
android - Android でビットマップの RGBValues を取得する
AndroidでビットマップのRGB値を取得する際に問題が発生しています...これが私がやっていることです:
ただし、色は一般的な RGB 値と一致していないようです。たとえば、白いピクセルは -1 として表示されますが、RGB 値は 16777215 です。
通常の RGB 値に適合しないと思われる負の値もたくさんあります。私の質問は、 getPixels() メソッドが返す Android Color 整数ではなく、典型的な RGB 値に変換する方法があるかどうかです。ご不明な点がございましたら、お気軽にお問い合わせください。
android - Androidの背景画像の問題
画像を背景として設定しようとしています。xml レイアウト ファイルを編集します。しかし、描画可能なフォルダーに画像を配置すると、プロジェクト名にエラーが発生します。何が問題ですか?画像のサイズと関係ありますか?アンドロイドが実行できる画像の最大サイズはどれくらいですか?
android - 水平スケーリングのみの 9 パッチ画像
水平方向にのみ拡大縮小する 9Patch イメージを作成するにはどうすればよいですか? 垂直方向に拡大縮小したくありません。そのような 9 PNG を作成することはできません。
記事http://radleymarx.com/blog/simple-guide-to-9-patch/を試しましたが、その方法は機能していません。左のガイドをスキップすると、Eclipse でエラーが発生します。
この画像を水平方向に拡大縮小して、ヘッダー バーを作成しようとしています。
android - Androidでbase64を使用して大きな画像を投稿するには?
現在、サーバーデータベースにデータを投稿する必要がある1つのプロジェクトに取り組んでいます。name
ここでは、id
、image
、 などのデータを投稿します。
画像をバイナリデータとして渡したい。そのために、画像をbase64文字列に変換してからデータをPOSTしていますが、画像の解像度が大きいかHTTP接続のサイズが大きいため、URLが大きすぎることを示す413エラーコードが表示されます。
誰か私にこれの解決策を教えてください。ここで、私が実装したコードを示します。
値
doNetworkConnection
ここでは、HTTP 応答コードが 413 であるため、URL が大きすぎて画像を POST できないことを示しています。
android - 最も効率的な方法でAndroidがサーバーに写真をアップロードする
サーバーに他のデータ (添付ファイル付きの電子メールに非常に似ています) と一緒に画像を取得する必要があります。また、失敗したときに再試行できるように、信頼できる方法で行う必要があります。
サーバーはWCF RESTサーバーであり、私はそれ(JSON)と他の多くの通信を行いますが、画像をアップロードするためのこの新しい要件を取得しました.
JSON を使用してデータをサーバーに投稿するため、Android 側で GSON を使用してデータをシリアル化します。
これまでに実装した方法は次のとおりです(他のすべてはこのように機能しますが、画像から始めたばかりです)
- ユーザー入力アクティビティ フィールド (テキスト データ)
- ユーザーはカメラ インテントを介して写真を撮ります。現在、写真用に1つのファイルを使用しています
- SDカードから写真を撮り、ロード/サイズ変更します-ImageViewに表示し、バイト[]に保存します
- ユーザー送信 - byte[] から画像とともにすべてのデータを取得し、それを Java オブジェクトに入れます
- GSON コンバーターを呼び出してオブジェクトをシリアル化する
- オブジェクトを SQLite に保存する
- AsyncTask は SQLite でレコードを検索し、カーソルを開き、テキストを取得します
- AsyncTask は HttpConnection を作成し、テキスト データをサーバーに投稿します。
- 終わり
今私の問題に..明らかに#3で-バイト配列でRAMを「爆発」させます。時々、Nexus S の動作が遅くなったとさえ感じます。しかし、そうすることで、SDカードやアプリフォルダーが多くのファイルでいっぱいになることを避けています。私は写真を撮り、それをつかみます。次の画像は前の画像を上書きします。
ステップ 5 は遅いです。私は GSON でカスタムシリアライザーを試していませんでした。バイト配列を [1,-100,123,-12] のようなものにシリアライズする代わりに、Base64 ではるかに小さいサイズを取得できますが、それでも. 遅くなります。しかも20枚まで撮れる…
手順 6 は問題ありません。しかし、特定のサイズ(300pxの画像を試しました)で、OpenCursorのステップ7でエラーが発生し始めました
だから、この全体は私が好きなものではありません。理想的には、すべてのデータを 1 つにまとめてサーバーにアップロードする必要があります。
タイムスタンプ付きの画像をSDカードに保存し、その名前だけをDBに保存することを考えていました。サーバーに送信する直前にそれらを処理するよりも。成功したら、それらの画像を削除します。この種のロジックは SQLite スキーマをより複雑にしますが、これ以上の方法はないのではないでしょうか?!
画像を処理するためのベストプラクティスを探していると思います。最小限のメモリ/CPU 使用率でフォローインを行う方法:
- 写真を撮る
- サムネイル表示
- サイズ変更
- サーバーに送信
編集1:
現在、シザン全体をマルチパート MIME メッセージとしてアップロードする可能性を調査しています。それには、私の Android パッケージにいくつかの JAR を追加する必要があります。また、画像をロードして送信するためのApacheコードがどれほど効果的かはわかりません(私のコードよりも優れていると思います) http://okandroidletsgo.wordpress.com/2011/05/30/android-to-wcf-streaming-マルチパートバイナリイメージ/
そして、組み込みの.NETフレームワークではこれを行う方法がないため、WCF側でこれらすべてを解析する必要があります。
http://antscode.blogspot.com/2009/11/parsing-multipart-form-data-in-wcf.html
これを試したら教えてください!
編集2:
MIME はダメです。同じものであるBase64を使用してバイナリをシリアル化するため、意味がありません..
android - SDカードから単一の画像を動的に表示する方法
私はプログラムを実行して、sdcard
動的にすべての画像を表示しました。sdcard
しかし今、私はすべての画像を表示するのではなく、動的に単一の画像を表示したいと思います。私のコーディングは次のとおりです
次に、アダプタコードが続きます
}
android - 中心点を同じ場所に維持しながらImageViewの画像をスケーリングする
ImageView のソースとして事前スケーリングされたビットマップを設定しました。次に、 のマトリックスを読み取りImageView
、ImageView のビットマップを を介してシフトしmatrix.postTranslate(shiftX, shiftY)
ました。
ImageView
スケール前のビットマップの同じポイントの中心を維持しながら、ズームイン/ズームアウトして画像を作成したいと思います。
で画像を拡大しようとするとmatrix.postScale(zoom, zoom)
、維持したいポイント(青い点)が別の場所(紫色の点)に移動します。
ビットマップを元に戻す方法をいくつか試しましたが、正しく動作しません。初期ビットマップ サイズ、ImageView サイズ、点線でマークされた距離を知っています。必要なシフトを計算して後で使用しようとしましmatrix.postTranslate(-zoomshiftX, -zoomshiftY)
たが、正しくシフトしません。
基盤となるビットマップのピクセル数は、matrix.postScale() 関数の後で変更されず、matrix.postTranslate(-zoomshiftX/zoom, -zoomshiftY/zoom) を試しましたが、まだうまくいきません。
どうすればそのようなズームを実現できますか?
android - Android - 画像/カメラの取り扱い - いくつかの質問
Androidで画像のサイズ変更を扱っています-楽しいです!これが私がうまくいけば小さな質問です:)私はカメラの意図を使用して写真を撮り、SDカードに保存しています。
カメラの解像度を取得して、画像の解像度を知り、変換するたびに確認する必要がないようにする方法はありますか?
解像度は変更される可能性がありますか、それともデバイスごとに固定されていますか?
すべての画像は「横」形式で保存されますか? 私は彼らが常に「高い」よりも「広い」ということですか?
画面に ImageView がある場合、適切に塗りつぶすために必要なビットマップのサイズをどのように知ることができますか? 私は 4 つの Imageviews を続けて持っています - すべて同じ重みなので、画面の幅を考え出し、ビットマップのサイズを適切に変更する必要があると思いますか?
画像を正確な幅にスケーリングする必要がある場合、Bitmap.createScaledBitmap を呼び出す前に、OldX から NewX への「比率」を計算し、それを OldY に適用する必要があるということですか?
android - BitmapFactorydecodeStreamをファイルに。または、VMを強制終了せずにビットマップを処理する方法は?
画像をデコードするときにOOMエラーに苦労しています。このメッセージは私が扱っているものにぴったりです:BitmapFactoryOOMは私を狂わせます
私は自分の問題を何が解決するかは知っていると思いますが、それをどのように行うかはわかりません。今、画像のサイズを変更しているとき-次のようなビットマップを取得しています:
そして、それをファイルに保存する必要があるよりも:
ご覧のとおり、私の目標はストレージ内の画像を減らすことです。
現在、大きなビットマップを操作すると、大きなファイルがメモリに読み込まれ、ヒープサイズが大きくなり、次の試行で、ネイティブヒープに十分なメモリがないため、OOM例外が発生します。
そこで、BitmapFactoryからストリームを取得し、それを何らかの方法でFileStreamに渡して保存したいと思います。大きなイメージが必要な場合は、VMヒープの問題が解消されます。
誰もが方法を知っていますか?