①Intentで画像をギャラリーから読み込む
②読み込んだ画像をBitmap bitmapに格納する
③あらかじめ用意されているボタンを押す
④bitmapが加工される
⑤加工されたbitmapをImageviewとして表示する
という流れのアプリケーションを作成したいのですが
中々うまくいきません
何方かソースコードの例など、教えていただけませんか?
自分が作ったソースコードです↓
今のところintentからギャラリーを開いてbitmapに画像を格納
その後、表示するところまで作れました。
###ソースコード
package com.example.myapplication_image6;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.BitmapDrawable;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import java.io.IOException;
import java.io.InputStream;
public class MainActivity extends AppCompatActivity {
private static final int READ_REQUEST_CODE = 42; ImageView imageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageView = (ImageView) findViewById(R.id.imageView); Bitmap bitmap = BitmapFactory.decodeResource( MainActivity.this.getResources(), //グレースケール化する画像名 //『res』→『drawable』に入っている画像 R.drawable.lenna ); ((ImageView) findViewById(R.id.imageView)).setImageBitmap(bitmap); ////////////////////////////ギャラリーの呼び出し//////////////////////////// Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT); intent.addCategory(Intent.CATEGORY_OPENABLE); intent.setType("image/*"); startActivityForResult(intent, READ_REQUEST_CODE); //////////////////////////////////////////////////////////////////////////// //ボタンの宣言 Button b1 =(Button) this.findViewById(R.id.button1); Button b2 =(Button) this.findViewById(R.id.button); ///////////////////////原画像//////////////////////////////////// ((Button)findViewById(R.id.button)).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // ((ImageView) findViewById(R.id.imageView)).setImageBitmap(bitmap); } }); } /////////////////////////////////読み込み///////////////////////////////////////////////////// @Override public void onActivityResult(int requestCode, int resultCode, Intent resultData) { if (requestCode == READ_REQUEST_CODE && resultCode == Activity.RESULT_OK) { Uri uri = null; if (resultData != null) { uri = resultData.getData(); try { Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), uri); imageView.setImageBitmap(bitmap); } catch (IOException e) { e.printStackTrace(); } } } }
}
あなたの回答
tips
プレビュー