दिलचस्प पोस्ट
सीएसएस चयनकर्ता <input type = "?" "डिबगर के लिए प्रतीक्षारत" संदेश को कैसे हल करें? एक नई रेल परियोजना में SQLite से PostgreSQL में बदलें वीबीए कार्यपुस्तिकाओं। क्या बिना संकेत दिए गए उपयोगकर्ता को सहेजना है? Jquery में अनुक्रमणिका द्वारा एक तत्व प्राप्त करें एक नेस्टेड जटिल ऑब्जेक्ट से मान प्राप्त करना जिसे आंशिक दृश्य में पारित किया गया है पायथन में अंकगणित माध्य (औसत) की गणना करना Java वेब अनुप्रयोग में ब्राउज़र से पीडीएफ के रूप में बाइट कैसे भेजा जाए? PHP में वर्तमान दिनांक और समय कैसे प्राप्त करें? Jquery या JavaScript में $ चिन्ह का मतलब क्या है? एक div में HTML डालना WAMP / XAMPP स्थानीयहोस्ट पर बहुत धीमा जवाब दे रहा है मैं jquery-ui खींचने योग्य कैसे अक्षम कर सकता हूं? यूनिट का परीक्षण और निजी वैरिएबल वैल्यू जांचना रेल पर रूबी और रूबी में क्या अंतर है?

सेवा या धागे से एक पूर्वावलोकन के बिना कैमरा कैप्चर कैसे लेना है?

क्या कैमरा पूर्वावलोकन दिखाने के बिना छवि पर कब्जा करना संभव है ?, मुझे एक आवश्यकता है कि मैं छवि को थ्रैग से या सेवा से कैद करने में सक्षम होना चाहिए, बिना अग्रभाग के अनुप्रयोग को परेशान किए बिना, जहां मैं कैमरा नहीं दिखाना चाहता पूर्वावलोकन, लेकिन फिर भी मैं पृष्ठभूमि में छवि को कैप्चर करना चाहता हूं और उसे डिवाइस में संग्रहीत करना चाहता हूं

Solutions Collecting From Web of "सेवा या धागे से एक पूर्वावलोकन के बिना कैमरा कैप्चर कैसे लेना है?"

इस कोड को आज़माएं यह गतिविधि शुरू होने पर चित्र पर क्लिक करेगी इसमें एक पूर्वावलोकन है, लेकिन पूर्वावलोकन आकार 0 से 0 डीपी पर सेट है।

package fortyonepost.com.pwop; import java.io.IOException; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.hardware.Camera; import android.hardware.Camera.Parameters; import android.os.Bundle; import android.view.SurfaceHolder; import android.view.SurfaceView; import android.widget.ImageView; public class TakePicture extends Activity implements SurfaceHolder.Callback { //a variable to store a reference to the Image View at the main.xml file private ImageView iv_image; //a variable to store a reference to the Surface View at the main.xml file private SurfaceView sv; //a bitmap to display the captured image private Bitmap bmp; //Camera variables //a surface holder private SurfaceHolder sHolder; //a variable to control the camera private Camera mCamera; //the camera parameters private Parameters parameters; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //get the Image View at the main.xml file iv_image = (ImageView) findViewById(R.id.imageView); //get the Surface View at the main.xml file sv = (SurfaceView) findViewById(R.id.surfaceView); //Get a surface sHolder = sv.getHolder(); //add the callback interface methods defined below as the Surface View callbacks sHolder.addCallback(this); //tells Android that this surface will have its data constantly replaced sHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); } @Override public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3) { //get camera parameters parameters = mCamera.getParameters(); //set camera parameters mCamera.setParameters(parameters); mCamera.startPreview(); //sets what code should be executed after the picture is taken Camera.PictureCallback mCall = new Camera.PictureCallback() { @Override public void onPictureTaken(byte[] data, Camera camera) { //decode the data obtained by the camera into a Bitmap bmp = BitmapFactory.decodeByteArray(data, 0, data.length); //set the iv_image iv_image.setImageBitmap(bmp); } }; mCamera.takePicture(null, null, mCall); } @Override public void surfaceCreated(SurfaceHolder holder) { // The Surface has been created, acquire the camera and tell it where // to draw the preview. mCamera = Camera.open(); try { mCamera.setPreviewDisplay(holder); } catch (IOException exception) { mCamera.release(); mCamera = null; } } @Override public void surfaceDestroyed(SurfaceHolder holder) { //stop the preview mCamera.stopPreview(); //release the camera mCamera.release(); //unbind the camera from this object mCamera = null; } } 

संदर्भ: http://www.41post.com/3794/programming/android-take-a-picture-without-displaying-a-preview

मैं अपनी मुख्य गतिविधि के भीतर काम करने के लिए स्वीकार किए गए उत्तर प्राप्त नहीं कर सका (यह एक अलग गतिविधि के रूप में काम किया जब मैंने 1 डीपीआई के लिए 1 डीपीआई को 1 डीपीआई बदल दिया, लेकिन तस्वीर लेने के बाद, मेरे डायनेमिक विचार गायब हो जाएंगे)।

मेरी मुख्य गतिविधि में पूर्वावलोकन के बिना तस्वीर लेने के लिए, मैं एंड्रॉइड से कोड का इस्तेमाल किया – पूर्वावलोकन के बिना तस्वीर ले लो (संशोधित संस्करण के बाद)

 private SurfaceView sv; Camera myCamera = Camera.open(Camera.CameraInfo.CAMERA_FACING_FRONT); 

 private void takePhoto() { Camera.Parameters parameters = myCamera.getParameters(); // myCamera.setDisplayOrientation(180); // parameters.setPictureFormat(ImageFormat.JPEG); // parameters.setPictureFormat(PixelFormat.JPEG); myCamera.setParameters(parameters); SurfaceView mview = sv; try { myCamera.setPreviewDisplay(mview.getHolder()); myCamera.startPreview(); myCamera.takePicture(null, null, photoCallback); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } Camera.PictureCallback photoCallback=new Camera.PictureCallback() { public void onPictureTaken(byte[] data, Camera camera) { saveMyPhotoToParse(data); // Log.i(DEBUG_TAG,"image pseudo saved"); } }; 

आप डमी सतहधारक का उपयोग कर सकते हैं

 private SurfaceHolder.Callback dummySurfaceCallback = new SurfaceHolder.Callback() { @Override public void surfaceCreated(SurfaceHolder holder) { // do nothing } @Override public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { // do nothing } @Override public void surfaceDestroyed(SurfaceHolder holder) { // do nothing } }; 

और इसे एक सतहधारक (पूर्वावलोकनहोल्डर) पर लागू करें

  preview = (SurfaceView) findViewById(R.id.preview); previewHolder = preview.getHolder(); previewHolder.addCallback(dummySurfaceCallback); previewHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); 

और फिर previewrecupplayer में previewdisplay को सेट करने में previewer का उपयोग करें।

  mediaRecorder.setPreviewDisplay(previewHolder.getSurface()); 

इस पद्धति में आपको एक काली स्क्रीन पूर्वावलोकन होगा। यह मेरे लिए काम करता है, मुझे आशा है कि इससे मदद मिलेगी …

पूर्वावलोकन को एक और रैखिक लेआउट के अंदर बनाएं और अल्फा मूल्यों को बदलने के लिए 255 पूर्ण पारदर्शी 0 पूर्ण अपारदर्शी

कैमराप्रिव्यू_होल्डर LL.setAlpha (255); // पूर्वावलोकन सक्षम करें

कैमराप्रिव्यू_होल्डर LL.setAlpha (0); // अक्षम पूर्वावलोकन

 <LinearLayout android:id="@+id/camera_preview_holder" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <LinearLayout android:id="@+id/camera_preview" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:orientation="vertical" > </LinearLayout> </LinearLayout>