ওপেন সোর্স ইমেজ রিসাইজিং সার্ভার যা দ্রুত প্রসেসিং প্রদান করে

Picfit হল Pure Go-তে তৈরি করা একটি ইমেজ রিসাইজিং সার্ভার যা ইমেজ প্রসেসিংয়ের স্টোরেজ অংশের যত্ন নেয়, স্টোরেজ ইঞ্জিন ব্যবহার করা যাই হোক না কেন।

ইমেজ প্রসেসিং, বিশেষ করে রিসাইজ করা একটি দীর্ঘ প্রক্রিয়া হতে পারে যদি আপনার ইমেজ বিভিন্ন ইঞ্জিনে সংরক্ষিত থাকে কারণ অ্যাপ্লিকেশানটি অবতারের কোড মুছে ফেলতে এবং জেনারেট করা ইমেজ পুনরুদ্ধার করতে সিঙ্ক্রোনাস কল এড়াতে সময় নিতে পারে।

Picfit আপনার স্টোরেজ ইঞ্জিন এবং HTTP ক্যাশে সিস্টেমের মধ্যে প্রক্সি হিসাবে কাজ করে এই সমস্যাগুলি সমাধান করে। যদিও এটি বিনামূল্যে ডাউনলোড, ওপেন সোর্স এবং দ্রুত প্রসেসিং প্রদান করে, এটি একই ইমেজ দুইবার তৈরি করা এবং খুব বেশি জায়গা নেওয়া এড়িয়ে যায়।

আপনি Amazon S3, DigitalOcean S3, আপনার ফাইল সিস্টেম এবং আরও অনেক কিছুতে ছবি সংরক্ষণ করতে পারেন।

Previous Next

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

Picfit ইনস্টল করার সবচেয়ে সহজ এবং প্রস্তাবিত উপায় হল GitHub এর মাধ্যমে। একটি সহজ এবং মসৃণ ইনস্টলেশনের জন্য অনুগ্রহ করে নিম্নলিখিত কমান্ডটি ব্যবহার করুন।

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

 git clone https://github.com/thoas/picfit.git

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

ওপেন সোর্স পিকফিট লাইব্রেরি সফ্টওয়্যার ডেভেলপারদের Go কমান্ড ব্যবহার করে তাদের নিজস্ব অ্যাপ্লিকেশনের মধ্যে চিত্রগুলিকে প্রোগ্রাম্যাটিকভাবে পুনরায় আকার দিতে সক্ষম করে। Picfit এর প্রধান কাজগুলির মধ্যে একটি হল আপনার পছন্দের উচ্চতা এবং প্রস্থ অনুসারে চিত্রগুলির আকার পরিবর্তন করার ক্ষমতা। শুধু w (কাঙ্খিত ছবির প্রস্থ) এবং h (কাঙ্খিত ছবির উচ্চতা) মান প্রদান করুন।  

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

 func (e *GoImageEngine) Resize(img *imagefile.ImageFile, width int, height int, options *Options) ([]byte, error) {
	if options.Format == imaging.GIF {
		content, err := e.TransformGIF(img, width, height, options, imaging.Resize)
		if err != nil {
			return nil, err
		}
		return content, nil
	}
	image, err := e.Source(img)
	if err != nil {
		return nil, err
	}
	return e.resize(image, width, height, options)
}

থাম্বনেইল তৈরি করতে ফ্রি গো লাইব্রেরি

আপনি এই ফাংশনটি একটি নতুন চিত্র তৈরি করতে ব্যবহার করতে পারেন একটি পুনরায় নমুনাযুক্ত ফিল্টার দিয়ে উপরে বা নীচে স্কেল করে এবং এটি একটি নির্দিষ্ট উচ্চতা এবং প্রস্থে ক্রপ করতে পারেন। আবার এই ফাংশনে আপনাকে w এবং h মান প্রদান করতে হবে।

কিভাবে GO অ্যাপের ভিতরে GIF থাম্বনেইল তৈরি করবেন?

func (e *GoImageEngine) Thumbnail(img *imagefile.ImageFile, width int, height int, options *Options) ([]byte, error) {
	if options.Format == imaging.GIF {
		content, err := e.TransformGIF(img, width, height, options, imaging.Thumbnail)
		if err != nil {
			return nil, err
		}
		return content, nil
	}
	image, err := e.Source(img)
	if err != nil {
		return nil, err
	}
	return e.thumbnail(image, width, height, options)
}

Go API এর মাধ্যমে চিত্র তথ্য পুনরুদ্ধার করুন

রিসাইজিং ফাংশন ছাড়াও, Picfit এর কিছু গুরুত্বপূর্ণ ফাংশন আছে ফাইল তথ্য পুনরুদ্ধার করার জন্য যেমন Get, সেইসাথে স্টোরেজ বা আপলোডিং কমান্ড। Get ফাংশনের সাথে আপনি ফলস্বরূপ নিম্নলিখিত পরামিতিগুলি পাবেন:

  • ফাইলের নাম: জেনারেট করা ফাইলের নাম
  • পাথ: এটি আপনার স্টোরেজ ইঞ্জিনে আপনার তৈরি করা ফাইলের পথ হবে
  • URL: যদি base_url উপস্থিত থাকে তাহলে আপনি আপনার তৈরি করা ফাইলের একটি সম্পূর্ণ URL পাবেন
 বাংলা