मैं एंड्रॉइड के लिए एक एपीआई बना रहा हूं, जहां डेवलपर एक तस्वीर लेने के लिए मेरी कक्षा का उपयोग कर सकते हैं। लेकिन, मैं चित्रचित्र पर जाकर बिटमैप कैसे वापस कर सकता हूं। मेरी कोड देखो, कृपया:एंड्रॉइड पर पिक्चरटेकन पर एक बिटमैप कैसे वापस करें?
यह MainActivity पर एक बटन है:
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// onPictureTaken does not return nothing
// so, how can I get a bitmap from takePicture?
Bitmap mBitmap = CameraUtils.takePicture();
}
});
यहाँ और मेरी कक्षा CameraUtils है:
public class CameraUtils implements Camera.PictureCallback {
private Camera mCamera = null;
private SurfaceTexture surfaceTexture = new SurfaceTexture(0);
public Bitmap takePicture() {
try {
mCamera = Camera.open(1);
Camera.Parameters params = mCamera.getParameters();
List<Camera.Size> sizes = params.getSupportedPictureSizes();
params.setPictureFormat(ImageFormat.JPEG);
params.setPictureSize(sizes.get(0).width, sizes.get(0).height);
mCamera.setParameters(params);
mCamera.setPreviewTexture(surfaceTexture);
mCamera.startPreview();
Log.i("MyCamera", "before takePicture");
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
mCamera.takePicture(null, null, CameraUtils.this);
}
}, 1000);
//how to return a bitmap from here??
//how to wait for onPictureTaken??
return ?????
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onPictureTaken(byte[] data, Camera camera) {
Bitmap mBitmap = BitmapFactory
.decodeByteArray(data, 0, data.length);
//
// how to return something here??
//
//
// What logic I have to do?
//
//
//
// return mBitmap;
//
}
}
मैं अपने वर्ग का उपयोग कर एक बिटमैप पाने के लिए क्या करना है ' तरीका?
धन्यवाद।
मेरी मदद करने के लिए धन्यवाद। मैं यूआई पर बिटमैप का उपयोग नहीं करना चाहता हूं। मैं इस बिटमैप को अन्य तरीकों से संसाधित करना चाहता हूं। उदाहरण के लिए: बिटमैप बिटमैप = कैमराउल्ट्स.take चित्र(); कैमराउटिल। रोटेट बिटमैप (बिटमैप, ड्रेग्री); क्या ऐसा करने का कोई तरीका है? – Caaarlos
हां-इसे सब कुछ करें PictureTaken –
लेकिन मेरे पास बिटमैप में हेरफेर करने के लिए बहुत सी विधियां हैं। मुझे वास्तव में बिटमैप प्राप्त करने और जिस तरह से मैं चाहता हूं, छवि को संसाधित करने के लिए कुछ चाहिए। क्या कोई तर्क है, यह सबचित्र करने के लिए अलग है? – Caaarlos