ওপেন সোর্স হাই-লেভেল ইমেজ প্রসেসিং গো লাইব্রেরি

Go API যা ইমেজ রোটেশন, ফিট ইমেজ, ইমেজ থাম্বনেল তৈরি, ইমেজ জুম, ইমেজ এম্বেড বা প্রসারিত করতে, ইমেজে ব্লার ইফেক্ট যোগ করতে এবং আরও অনেক কিছুর অনুমতি দেয়।

bimg হল একটি ওপেন সোর্স হাই-লেভেল ইমেজ প্রসেসিং Go লাইব্রেরি যা Go কোডের মাত্র কয়েক লাইনের মাধ্যমে ছবি পড়ার এবং ম্যানিপুলেট করার ক্ষমতা প্রদান করে। লাইব্রেরি আকারে ছোট কিন্তু খুব সুসংগঠিত এবং দক্ষ ফলাফল দেয়। লাইব্রেরিটি অন্যান্য উপলব্ধ লাইব্রেরির তুলনায় খুব দ্রুত যে কাজটি সম্পূর্ণ করতে খুব ছোট মেমরির প্রয়োজন হয়।

bimg হল একটি উচ্চ-স্তরের C লাইব্রেরি যা libvips-এর উপরে তৈরি করা হয়েছে যা চিত্র প্রক্রিয়াকরণের জন্য একটি অত্যন্ত শক্তিশালী লাইব্রেরি। এটি JPEG, PNG, WEBP, TIFF, PDF, GIF, SVG, ইত্যাদির মত কিছু খুব জনপ্রিয় ইমেজ ফাইল ফরম্যাট পড়ার জন্য সমর্থন প্রদান করে। এছাড়াও আপনি সহজেই JPEG, PNG, WEBP ফরম্যাটের পাশাপাশি স্বচ্ছ ছবিতে ইমেজ রপ্তানি করতে পারেন।

বিআইএমজি লাইব্রেরিতে বেশ কিছু গুরুত্বপূর্ণ ইমেজ প্রসেসিং ফিচারের জন্য সমর্থন অন্তর্ভুক্ত করা হয়েছে যেমন ইমেজ রিসাইজ করা, ইমেজ বড় করা, স্মার্ট ক্রপ সাপোর্ট সহ ইমেজ ক্রপিং, ফ্লিপ বা রোটেট ইমেজ, ইমেজ থাম্বনেল তৈরি করা, ইমেজ জুমিং সাপোর্ট, ওয়াটারমার্ক যোগ করা এবং গাউসিয়ান ব্লার ইফেক্ট, এক্সট্র্যাক্ট নির্দিষ্ট করা। একটি ইমেজ থেকে এলাকা, ইমেজ ট্রিম, অন্য ফরম্যাটে ইমেজ কনভার্সন এবং আরও অনেক কিছু।

Previous Next

bimg দিয়ে শুরু করা

bimg ইনস্টল করার সবচেয়ে সহজ এবং সুপারিশ করার উপায় হল GitHub এর মাধ্যমে।

GitHub এর মাধ্যমে bimg ইনস্টল করুন

 go get -u gopkg.in/h2non/bimg.v1

Go এর মাধ্যমে অন্য ফরম্যাটে ইমেজ কনভার্সন

ওপেন সোর্স বিআইএমজি লাইব্রেরি সফটওয়্যার ডেভেলপারদেরকে গো কোডের মাত্র কয়েকটি লাইনের সাহায্যে অন্যান্য সমর্থিত ফাইল ফরম্যাটে ছবিগুলিকে প্রোগ্রাম্যাটিকভাবে রূপান্তর করতে সক্ষম করে। ধরুন আপনার একটি JPEG ফরম্যাটে আছে এবং আপনি এটিকে PNG তে রূপান্তর করতে চান। আপনাকে ছবির নাম, ঠিকানা এবং রূপান্তর বিন্যাসের মতো ছবির তথ্য প্রদান করতে হবে। চিত্রটি সহজে প্রস্তাবিত বিন্যাসে সফলভাবে রূপান্তরিত হবে।

গো লাইব্রেরির মাধ্যমে JPG ছবিকে PNG তে রূপান্তর করুন

buffer, err := bimg.Read("image.jpg")
if err != nil {
  fmt.Fprintln(os.Stderr, err)
}
newImage, err := bimg.NewImage(buffer).Convert(bimg.PNG)
if err != nil {
  fmt.Fprintln(os.Stderr, err)
}
if bimg.NewImage(newImage).Type() == "png" {
  fmt.Fprintln(os.Stderr, "The image was converted into png")
}

ছবি ক্রপ বা রিসাইজ করুন

বিনামূল্যে bimg লাইব্রেরি সফ্টওয়্যার বিকাশকারীদের তাদের নিজস্ব Go অ্যাপ্লিকেশনগুলির মধ্যে তাদের চিত্রগুলিকে পুনরায় আকার দেওয়ার পাশাপাশি ক্রপ করার ক্ষমতা দেয়৷ আপনাকে নতুন চিত্র এবং অবস্থানের প্রস্থ এবং উচ্চতাও প্রদান করতে হবে। এটি আকৃতির অনুপাত সংরক্ষণ না করে জোর করে পুনরায় আকারের ক্রিয়াকলাপগুলিকে সমর্থন করে। আপনি পাঠ্য যোগ করতে পারেন এবং একটি ছবি থেকে আপনার পছন্দের এলাকাটি বের করতে পারেন। নির্দিষ্ট আকারে ছবি ক্রপ করুন।

Go লাইব্রেরির মাধ্যমে চিত্রের আকার পরিবর্তন করুন

buffer, err := bimg.Read("image.jpg")
if err != nil {
  fmt.Fprintln(os.Stderr, err)
}
newImage, err := bimg.NewImage(buffer).Resize(800, 600)
if err != nil {
  fmt.Fprintln(os.Stderr, err)
}
size, err := bimg.NewImage(newImage).Size()
if size.Width == 800 && size.Height == 600 {
  fmt.Println("The image size is valid")
}
bimg.Write("new.jpg", newImage)

ছবিতে ওয়াটারমার্ক যোগ করা হচ্ছে

বিমজি এপিআই সহজে Go অ্যাপ্লিকেশনের ভিতরে ইমেজে ওয়াটারমার্ক যোগ করার জন্য কার্যকারিতা অন্তর্ভুক্ত করেছে। একটি ওয়াটারমার্ক যোগ করা আপনার ছবি রক্ষা করার জন্য একটি খুব দরকারী বৈশিষ্ট্য. ইন্টারনেটে আপনার ফটোগুলিকে সুরক্ষিত করার জন্য ওয়াটারমার্কিং হল সবচেয়ে সহজ এবং খুব দরকারী উপায়৷ আপনি সহজেই একটি লোগো বা টেক্সট ওয়াটারমার্ক রাখতে পারেন। লাইব্রেরি আপনাকে প্রোগ্রাম্যাটিকভাবে যেকোনো নির্বাচিত অবস্থানের পাশাপাশি অস্বচ্ছতার সাথে আপনার ছবিতে একটি ওয়াটারমার্ক যোগ করতে সাহায্য করে।

Go API এর মাধ্যমে ছবিতে ওয়াটারমার্ক যোগ করুন

buffer, err := bimg.Read("image.jpg")
if err != nil {
  fmt.Fprintln(os.Stderr, err)
}
watermark := bimg.Watermark{
  Text:       "Chuck Norris (c) 2315",
  Opacity:    0.25,
  Width:      200,
  DPI:        100,
  Margin:     150,
  Font:       "sans bold 12",
  Background: bimg.Color{255, 255, 255},
}
newImage, err := bimg.NewImage(buffer).Watermark(watermark)
if err != nil {
  fmt.Fprintln(os.Stderr, err)
}
bimg.Write("new.jpg", newImage)

ফ্লিপ এবং ঘোরান ছবি

ওপেন সোর্স bimg লাইব্রেরি সফ্টওয়্যার ডেভেলপারদের Go ল্যাঙ্গুয়েজ কমান্ড ব্যবহার করে তাদের প্রয়োজন অনুযায়ী তাদের ছবি ঘোরানোর ক্ষমতা দেয়। স্বয়ংক্রিয় ইমেজ ঘূর্ণন জন্য একটি পদ্ধতি আছে. অটোরোটেট ফাংশনটি স্বয়ংক্রিয়ভাবে EXIF ওরিয়েন্টেশন মেটাডেটার উপর ভিত্তি করে কোনও অতিরিক্ত রূপান্তর ছাড়াই চিত্রটিকে ঘোরায়, যদি উপলব্ধ থাকে। এটি ফ্লিপ বা ফ্লপ ইমেজ, ইমেজ ইন্টারপ্রিটেশন, ইমেজের দৈর্ঘ্য, ইমেজ মেটাডেটা এবং আরও অনেক কিছুর জন্য সমর্থন প্রদান করে।

Go Apps এর ভিতরে ছবি ঘোরান

buffer, err := bimg.Read("image.jpg")
if err != nil {
  fmt.Fprintln(os.Stderr, err)
}
newImage, err := bimg.NewImage(buffer).Rotate(90)
if err != nil {
  fmt.Fprintln(os.Stderr, err)
}
bimg.Write("new.jpg", newImage)
 বাংলা