سرور تغییر اندازه تصویر منبع باز که پردازش سریعتر را ارائه می دهد
Picfit یک سرور تغییر اندازه تصویر است که در Pure Go توسعه یافته است که بدون توجه به موتور ذخیره سازی مورد استفاده، از بخش ذخیره سازی پردازش تصویر مراقبت می کند.
اگر تصویر شما در موتورهای مختلف ذخیره شود، پردازش تصویر، به ویژه تغییر اندازه، میتواند فرآیندی طولانی باشد، زیرا حذف کدهای آواتارها و اجتناب از تماسهای همزمان برای بازیابی تصویر تولید شده، زمان میبرد.
Picfit این مشکلات را با عمل به عنوان یک پروکسی بین موتور ذخیره سازی شما و سیستم کش HTTP حل می کند. در حالی که دانلود رایگان است، منبع باز است و پردازش سریعتری را ارائه میکند، اما از دو بار تولید یک تصویر و اشغال فضای بیش از حد جلوگیری میکند.
می توانید تصاویر را در Amazon S3، DigitalOcean S3، سیستم فایل خود و موارد دیگر ذخیره کنید.
شروع کار با Picfit
ساده ترین و توصیه شده ترین راه برای نصب Picfit از طریق GitHub است. لطفا برای نصب آسان و روان از دستور زیر استفاده کنید.
Picfit را از طریق GitHub نصب کنید
git clone https://github.com/thoas/picfit.git
تغییر اندازه تصاویر از طریق کتابخانه Free GO
کتابخانه منبع باز picfit توسعه دهندگان نرم افزار را قادر می سازد تا با استفاده از دستورات Go، اندازه تصاویر را در برنامه خود تغییر دهند. یکی از عملکردهای اصلی Picfit امکان تغییر اندازه تصاویر با توجه به ارتفاع و عرض مورد نظر شما است. به سادگی مقادیر w (عرض تصویر مورد نظر) و h (ارتفاع تصویر مورد نظر) را وارد کنید.
تغییر اندازه تصویر از طریق کتابخانه Free 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 را ارائه دهید.
چگونه می توان تصاویر کوچک GIF را در داخل برنامه های GO ایجاد کرد؟
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 پارامترهای زیر را در نتیجه دریافت خواهید کرد:
- نام فایل: نام فایل تولید شده
- Path: این مسیر فایل تولید شده شما در موتور ذخیره سازی شما خواهد بود
- URL: اگر base_url موجود باشد، URL کامل فایل تولید شده خود را دریافت خواهید کرد