3

私は、次のAndroidと同等のコードを取得しようとしています:

private BufferedImage user_space(BufferedImage image)
{
    BufferedImage new_img  = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_3BYTE_BGR);
    Graphics2D    graphics   = new_img.createGraphics();
    graphics.drawRenderedImage(image, null);
    graphics.dispose(); 
    return new_img;
}

Graphics2D に相当する Android が必要です。私はしばらく探していて、ここで Graphics2D クラスによって実行されるのと同様のタスクを Android の Canvas で実行できることがわかりましたが、主な問題は、Android で実行されているプロセス全体に相当するものを取得していないことです。コード。

4

1 に答える 1

4

おそらくすでにご存知のように、AndroidにはBufferedImageまたはがありません。Graphics2D

私は Java 開発者 (Android のみ) ではないので、何を達成しようとしているのか 100% 確信が持てませんが、単にイメージのコピーを作成しているように思えます。

これらのタイプの操作に使用するいくつかのクラスを次に示します。

  • Bitmap : これは BufferedImage のようなもので、イメージからすべてのバイトを実際に格納するオブジェクトです (メモリ クラッシュの可能性がある大きなオブジェクトの可能性があります)。ここには、ビットマップのコピー、可変または不変の新しいビットマップの作成、スケーリング、または PNG または JPG としてストリームへの圧縮のための静的メソッドがいくつかあります。

  • BitmapFactory : リソース、ファイル、ストリームなどから新しいビットマップを作成するための多数の静的メソッド。

  • Canvas : 実際には、画像に描画する場合にのみこれを使用します (画像をオーバーレイする、テキストや線を配置するなど)。

于 2013-04-05T14:55:04.610 に答える