私のアプリのユーザーは、実行時に画像を変更できるようにしたいと思います。私はこれを研究に多くの時間を費やしているAndroidでサイズ変更可能なImageViewを作成する方法
:ユーザーは、次の図に示すように、画像ビューのコーナーをタップし、それをドラッグすることで、画像の高さと幅を変更することができるはずです私はMaking Sense of Multitouchと Resize a large bitmap file to scaled output fileピンチズームのようなものを見つけましたが、これらのどれも私の要求とはまったく一致しません。
現在、私はビットマップのサイズを変更しており、フレームの代わりにシークバーのonprogress変更メソッドの下でこの機能を使用して幅を変更しています。この機能を使用することにより、イメージサイズが変化してもスムーズに動作しません。
public static Bitmap decodeFile(File f,int WIDTH,int HIGHT){
try {
//Decode image size
BitmapFactory.Options o = new BitmapFactory.Options();
o.inJustDecodeBounds = true;
BitmapFactory.decodeStream(new FileInputStream(f),null,o);
//The new size we want to scale to
final int REQUIRED_WIDTH=WIDTH;
final int REQUIRED_HIGHT=HIGHT;
//Find the correct scale value. It should be the power of 2.
int scale=1;
while(o.outWidth/scale/2>=REQUIRED_WIDTH && o.outHeight/scale/2>=REQUIRED_HIGHT)
scale*=2;
//Decode with inSampleSize
BitmapFactory.Options o2 = new BitmapFactory.Options();
o2.inSampleSize=scale;
return BitmapFactory.decodeStream(new FileInputStream(f), null, o2);
}
catch (FileNotFoundException e) {}
return null;
}
UPDATE:
今すぐthis質問の受け入れ答えを使用してキャンバスに描画するビットマップを使用してスムーズに作業。
現在、リーミング部分は、フレーム周りの画像です。
これを達成するために手伝ってください。
こんにちは行われ、私はチュートリアルを見ましたが、私はあなたを聞いてみましょうこの:ポイントは、両側に位置していますXまたはY軸の移動のみを許可する画像のもしそうなら、あなたは '/ /移動距離を計算する'部分のX軸やY軸のイメージを単純にサイズ変更し、これを 'ImageView'に更新するコードのセクションに置くことはできませんか? – g00dy
ポイントは配置されていません。このフレームは、再スケーリング後にイメージサイズごとに表示されます。このフレームは、イメージの周りに常に動的に生成される必要があります。私は質問画像を変更しました。 plzはこの新しいイメージをチェックします。ありがとう... –
ポイントのある部分はすでに完了していると思いますか?あなたはこれのために何かをやったことがありますか? – g00dy