मेरा ऐप सतही धारक का उपयोग कर कैमरा खोलता है। कैमरा एक डिफ़ॉल्ट पूर्वावलोकन आकार के साथ खुलता है। कुछ उपकरणों पर डिफ़ॉल्ट पूर्वावलोकन आकार स्क्रीन पर वास्तव में दिखाई देने से अधिक छवि को कैप्चर करता है। इससे बचने के लिए, मैंने पूर्वावलोकन आकार को स्वयं सेट करना शुरू कर दिया। मानदंड आकार की उपलब्ध सूची से पूर्वावलोकन आकार का चयन करना है, जो स्क्रीन की चौड़ाई के निकटतम है।एंड्रॉइड कैमरा पूर्वावलोकन आकार मुद्दा
यह अधिकतर समय काम करता है। लेकिन अक्सर मैं कुछ उपकरणों पर ठोकर खाता हूं जो मेरे द्वारा चुने गए पूर्वावलोकन आकार को पसंद नहीं करते हैं।
1) नेक्सस 4 ने मेरे द्वारा चुने गए पूर्वावलोकन आकारों में से एक के लिए छवि को कैप्चर नहीं किया। 2) सैमसंग एस 4 कैप्चर की गई छवियों के साथ लाइनों (शोर) का बैंड देता है।
तो मैं समझना चाहता था कि मैं मानक के खिलाफ कुछ कर रहा हूं या नहीं। यहां मेरे प्रश्न हैं: -
1) मैं कैमरे को खोलने के लिए सतह धारक का उपयोग कर रहा हूं। क्या कोई अन्य तरीका है कि मैं अपने ऐप में कैमरा हार्डवेयर का उपयोग कर सकता हूं।
2) मैं उपलब्ध आकारों की सूची से पूर्वावलोकन आकार का चयन कर रहा हूं। क्या कोई विशिष्ट है जिसे मुझे किसी भी आकार का चयन करने से पहले देखना चाहिए? आकार का चयन करने के लिए तर्क नीचे उल्लिखित है: -
private Camera.Size getBestPreviewSize(int width, int height)
{
List<Size> sizes = camera.getParameters().getSupportedPreviewSizes();
if (sizes == null) return null;
Size optimalSize = null;
double minDiff = Double.MAX_VALUE;
int targetHeight = height;
int targetWidth = width;
int minWidthDiff = 0;
if (optimalSize == null) {
minDiff = Double.MAX_VALUE;
for (Size size : sizes) {
if (Math.abs(size.width - targetWidth) < minDiff) {
if(size.width > width) {
if (minWidthDiff == 0) {
minWidthDiff = size.width - width;
optimalSize = size;
}
else if (Math.abs(size.width - targetWidth) < minWidthDiff) {
minWidthDiff = size.width - width;
optimalSize = size;
}
minDiff = Math.abs(size.width - targetWidth);
}
}
}
}
if (optimalSize == null) {
minDiff = Double.MAX_VALUE;
for (Size size : sizes) {
if (Math.abs(size.height - targetHeight) < minDiff) {
optimalSize = size;
minDiff = Math.abs(size.height - targetHeight);
}
}
}
return optimalSize;
}
इस पर कोई भी दिशा वास्तव में मदद करेगी।
धन्यवाद !!
सेंसर आकार कैमरा है कि हार्डवेयर से निर्धारित होता है एक देशी संकल्प और पहलू अनुपात: गगन