20.11.2016 Views

ANDROID APP

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

รูปภาพ<br />

149<br />

ส่วนอีกวิธีที่ช่วยประหยัดหน่วยความจำได้ก็คือการปรับขนาดของรูปภาพที่อยู่ในหน่วยความจำ<br />

ก่อน แล้วค่อยแก้ไขภาพดังกล่าว ขั้นตอนเหล่านี้เราจะใช้เมธอด createScaledBitmap() มาช่วยใน<br />

การทำงาน ดังชุดคำสั่งที่ 6.1<br />

ชุดคำสั่งที่ 6.1 src/com/cookbook/image_manip/ImageManipulation.java<br />

package com.cookbook.image_manip;<br />

import android.app.Activity;<br />

import android.content.Intent;<br />

import android.graphics.Bitmap;<br />

import android.graphics.BitmapFactory;<br />

import android.os.Bundle;<br />

import android.os.Environment;<br />

import android.widget.ImageView;<br />

public class ImageManipulation extends Activity {<br />

static final String CAMERA_PIC_DIR = "/DCIM/Camera/";<br />

ImageView iv;<br />

@Override<br />

public void onCreate(Bundle savedInstanceState) {<br />

super.onCreate(savedInstanceState);<br />

setContentView(R.layout.main);<br />

iv = (ImageView) findViewById(R.id.my_image);<br />

String ImageDir = Environment.getExternalStorageDirectory()<br />

.getAbsolutePath() + CAMERA_PIC_DIR;<br />

}<br />

Intent i = new Intent(this, ListFiles.class);<br />

i.putExtra("directory”, ImageDir);<br />

startActivityForResult(i,0);<br />

@Override<br />

protected void onActivityResult(int requestCode,<br />

int resultCode, Intent data) {<br />

super.onActivityResult(requestCode, resultCode, data);<br />

if(requestCode == 0 && resultCode==RESULT_OK) {<br />

String tmp = data.getExtras().getString("clickedFile");<br />

Bitmap ImageToChange= BitmapFactory.decodeFile(tmp);<br />

process_image(ImageToChange);<br />

}<br />

}<br />

void process_image(Bitmap image) {<br />

Bitmap bm = Bitmap.createScaledBitmap(image, 480, 320, false);

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!