2011-09-26 7 views
5

मैंने पाइथन कोड को 'एपोजिट' के साथ Google ऐप इंजन में दो छवियों में शामिल होने के लिए देखा। लेकिन मुझे दो छवियों को मर्ज करने के लिए 'समग्र' का उपयोग करने के लिए जावा कोड की आवश्यकता है। एक वास्तविक कोड दिखा रहा है बहुत उपयोगी होगा।जावा में Google एप इंजन में 2 छवियों में कैसे शामिल हों

उत्तर

8

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

मुख्य कारण यह मेरे लिए बहुत अधिक समय ले गया, यह है कि किसी भी कारण से, छवियों एपीआई का devserver सिमुलेशन सही काम नहीं करता है और devserver का उपयोग करते समय समग्र छवियों सही नहीं हैं। मैं devserver में मूल्यों के साथ हमेशा के लिए झुकाव खर्च कर रहा था, जब तक कि मैंने अभी ऐपइंजिन में टेस्ट कोड अपलोड नहीं किया, और यह उम्मीद के अनुसार काम किया। Argg!

वैसे भी, नीचे दिए गए कोड मान लिया गया है तो आपके पास दो 300x300 छवियों, aImage में एक और bImage में अन्य है, कि तुम एक 600x300 नया कैनवास, जो जिसके परिणामस्वरूप छवि newImage में बन जाता है में पक्ष-साथ पेस्ट करना चाहते हैं:

List<Composite> listComposites=new ArrayList<Composite>(); 

Composite aPaste = ImagesServiceFactory.makeComposite(aImage, 0, 0, 1f, Composite.Anchor.TOP_LEFT); 
listComposites.add(aPaste); 

Composite bPaste = ImagesServiceFactory.makeComposite(bImage, 300, 0, 1f, Composite.Anchor.TOP_LEFT); 
listComposites.add(bPaste); 

Image newImage = imagesService.composite(listComposites, 600, 300, 0xff333333L, ImagesService.OutputEncoding.JPEG); 

पहला मेक कॉम्पोजिट TOP_LEFT के सापेक्ष 0,0 स्थान पर पहली छवि रखता है। दूसरा मेक कॉम्पोजिट दूसरी छवि को 300,0 पर रखता है। दोनों अस्पष्टता 1.0 के साथ चिपकाए गए हैं। उम्मीद है की यह मदद करेगा। यह कोड जेपीईजी प्रारूप में परिणाम बचाता है। और, फिर, मेरे लिए, यह devserver में काम नहीं करता है, लेकिन वास्तविक ऐप इंजन मंच पर अपेक्षित काम करता है।

संबंधित मुद्दे