معالجة الصور مع التناوب باستخدام go
(i2)
الهدف هو وضع i1 و i2 على bi في زوايا محددة وإنشاء صورة نهائية. يتم توفير إحداثيات I1 و I2 مع زوايا الدوران. قد يتداخل I1 و I2 جزئيًا ، ولكن هناك حافظة Z التي تحدد الصورة التي يجب أن تظهر في المقدمة.
تتمثل المهمة في تحقيق هذه الوظيفة في Golang. (http://golang.org/doc/articles/image_draw.html) فيما يلي برنامج Go Sample يوضح مزيج من صورتين مع دورات: -
حزمة الرئيسية
يستورد (
"FMT"
"OS"
"صورة/رسم"
"صورة"
"Image/JPEG"
"code.google.com/p/graphics-go/graphics"
)
Func Main () {
FIMG1 ، _: = OS.Open ("Arrow1.jpg")
تأجيل fimg1.close ()
IMG1 ، _ ، _: = image.decode (FIMG1)
FIMG2 ، _: = OS.Open ("Arrow2.JPG")
تأجيل fimg2.close ()
IMG2 ، _ ، _: = image.decode (FIMG2)
M: = Image.newrgba (Image.Rect (0 ، 0 ، 800 ، 600))
Draw.draw (M ، M.Bounds () ، IMG1 ، Image.Point {0،0} ، draw.src)
//draw.draw(m ، m.bounds () ، img2 ، image.point {-200 ، -200} ، draw.src)
Graphics.Rotate (M ، IMG2 ، & Graphics.RotateOptions {3.5})
toimg ، _: = os.create ("new.jpg")
تأجيل toimg.close ()
jpeg.encode (toimg ، m ، & jpeg.options {jpeg.defaultquality})
} -
في هذا المثال: -
صورتان ، "Arrow1.jpg" و "Arrow2.jpg" ، يتم تحميلها في الذاكرة. الأصل. الرجوع إلى وثائقها للحصول على التفاصيل.