به کتابخانه پردازش تصویر سطح بالا منبع باز بروید

Go API که امکان چرخش تصاویر، تصاویر Fit، ایجاد ریز عکسها، بزرگنمایی تصویر، جاسازی یا گسترش تصویر، افزودن جلوه های تاری به یک تصویر و موارد دیگر را می دهد.

bimg یک کتابخانه متن باز پردازش تصویر سطح بالا است که قابلیت خواندن و دستکاری تصاویر را تنها با چند خط کد Go فراهم می کند. کتابخانه از نظر اندازه کوچکتر است اما نتایج بسیار منظم و کارآمدی را تولید می کند. این کتابخانه در مقایسه با سایر کتابخانه های موجود که برای تکمیل کار به حافظه بسیار کمی نیاز دارند، بسیار سریع است.

Bimg یک کتابخانه C سطح بالا است که در بالای libvips ساخته شده است که یک کتابخانه بسیار قدرتمند برای پردازش تصاویر است. این برنامه از خواندن برخی از فرمت‌های فایل تصویری بسیار محبوب مانند JPEG، PNG، WEBP، TIFF، PDF، GIF، SVG و غیره پشتیبانی می‌کند. همچنین می‌توانید به راحتی تصاویر را به فرمت‌های JPEG، PNG، WEBP و همچنین به تصاویر شفاف صادر کنید.

کتابخانه bimg شامل پشتیبانی از چندین ویژگی مهم پردازش تصویر مانند تغییر اندازه تصاویر، بزرگ‌نمایی تصویر، برش تصویر از جمله پشتیبانی از برش هوشمند، چرخش یا چرخش تصاویر، ایجاد ریز عکس‌ها، پشتیبانی از بزرگنمایی تصویر، افزودن واترمارک و افکت تاری گاوسی، استخراج خاص است. منطقه ای از یک تصویر، برش تصاویر، تبدیل تصویر به فرمت های دیگر و بسیاری موارد دیگر.

Previous Next

شروع کار با bimg

ساده ترین و توصیه شده ترین راه برای نصب bimg از طریق GitHub است.

Bimg را از طریق GitHub نصب کنید

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

تبدیل تصویر به فرمت های دیگر از طریق Go

کتابخانه bimg منبع باز به توسعه دهندگان نرم افزار این امکان را می دهد تا تصاویر را به صورت برنامه ریزی شده به فرمت های فایل پشتیبانی شده دیگر تنها با چند خط کد Go تبدیل کنند. فرض کنید یک فرمت JPEG دارید و می خواهید آن را به PNG تبدیل کنید. شما باید اطلاعات تصویر مانند نام تصویر، آدرس و فرمت تبدیل را ارائه دهید. تصویر با موفقیت به فرمت پیشنهادی به راحتی تبدیل می شود.

تبدیل تصویر JPG به PNG از طریق کتابخانه Go

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)

اضافه کردن واترمارک به تصاویر

Bimg API دارای قابلیتی برای افزودن واترمارک به تصاویر در داخل برنامه های 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 بچرخانند. روشی برای چرخش خودکار تصویر وجود دارد. تابع AutoRotate به طور خودکار تصویر را بدون تغییر شکل اضافی بر اساس فراداده جهت 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)
 فارسی