1

そこで、ユーザーがボタンを押して携帯電話のカメラで画像を撮影し、別のボタンを押してその画像を携帯電話の壁紙として設定できるアプリを作成しようとしています。

私はこれでカメラインテントを開始しました:(これはonClickメソッドにあります)

Intent i;

i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(i, cameraResults);

次に、カメラから画像を受信するためにこのメソッドを実装しました。

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // TODO Auto-generated method stub
    super.onActivityResult(requestCode, resultCode, data);
    if(resultCode == RESULT_OK){
        Bundle extras = data.getExtras();
        bmp = (Bitmap) extras.get("data");
        imageView.setImageBitmap(bmp);
    }
}

次に、壁紙をbmpとして設定するボタンのonClickメソッドで、次を使用しました。

getApplicationContext().setWallpaper(bmp);

このアプリを実行すると、すべてが完全に機能しているようです。写真を撮り、imageViewを写真に設定し、ボタンを押して画像を壁紙に設定すると、壁紙が変わります。

ただし、問題は、カメラからの画像が壁紙として正しく設定されていないことです。なんらかの理由で画像のサイズが小さくなり、壁紙の中央だけがその画像になります。画面のほとんどが黒です。なんらかの理由で画像が縮小されました。画像を全画面表示にしたいのですが、現在は最小化されており、背景は黒です。

誰かがこれがなぜであるかについて何か考えがありますか?私はチュートリアルビデオをフォローしていますが、チュートリアルの担当者はそれを完全に機能させています(画像は壁紙のフルスクリーンとして設定されています)。

私はすべての助けに感謝します、どうもありがとうございました!

壁紙をフルスクリーンに設定するために拡大縮小する方法を知っている人はいますか?

4

1 に答える 1

1

抽出しているビットマップは、画像のサムネイルです。ネイティブ カメラ アプリと画像スケーリングの使用に関するこの Android 公式チュートリアルをお試しください 。

于 2012-07-15T16:36:16.970 に答える