1. מוצרים
  2.   תמונה
  3.   GO
  4.   imaginary
 
  

עבור אל API עבור עיבוד תמונה מבוסס HTTP

Open Source Go Library התומכת בחיתוך חכם מקוון, הפוך או סיבוב תמונות, יצירת תמונות ממוזערות, התקרבות תמונות, הוספת סימן מים ל-PNG, WEBP, TIFF, PDF, GIF ו-SVG וכו'.

הדמיוני הוא קוד פתוח עוצמתי מאוד מבוסס HTTP עיבוד תמונה Go API המעניק למפתחי תוכנה את הכוח לבצע פעולות תמונה מתקדמות באמצעות שירותי HTTP פרטיים או ציבוריים עם פחות תלות. הוא תומך בפעולות מתקדמות כמו הרשאת אסימון API, הגנה על חתימת כתובת URL, אסטרטגיית מצערת תעבורת HTTP ותמיכה ב-CORS עבור לקוחות אינטרנט. הספרייה יכולה לקרוא תמונות ממטעני HTTP POST, נתיבים מקומיים של שרתים או שרתי HTTP מרוחקים.

הדמיוני היא ספרייה חזקה ויציבה הבנויה על גבי libvips עיבוד תמונה מהיר ויעיל. הספרייה כללה תמיכה בפורמטים של תמונות כגון JPEG, PNG, HEIF, WEBP, TIFF, PDF, GIF ו-SVG וכן המרה שקופה על פניהם. הוא סיפק תמיכה מלאה עבור Docker & Fly.io. הדבר הנהדר ב-Fly הוא שהוא יכול להפחית את זמן האחזור ולספק תרגול טוב יותר על ידי הגשת תנועה קרובה למיקום המשתמש שלך.

הספרייה הדמיונית תומכת באופן מלא במספר תכונות חשובות הקשורות ליצירת תמונה, המרה ומניפולציה כגון שינוי גודל תמונה, הגדלת תמונות, חיתוך תמונה, חיתוך חכם, סיבוב תמונות, סיבוב אוטומטי עם טרנספורמציות נוספות של תמונה, היפוך אוטומטי על בסיס מטא נתונים של EXIF, תמונה פלופ, הגדל תמונות, צור תמונות ממוזערות, התאם תמונות, הטמע או הרחבת תמונה, הוסף תמונת סימן מים, הוסף אפקטי טשטוש לתמונה ועוד רבים.

Previous Next

תחילת העבודה עם דמיוני

הדרך הקלה והמומלצת להתקנה דמיונית היא באמצעות GitHub.

התקן דמיוני דרך GitHub

go get -u github.com/h2non/imaginary

המר תמונות לפורמטים אחרים באמצעות Go

ספריית ה-API הדמיונית בקוד פתוח כללה תמיכה בהמרת התמונות שלך לפורמטי קבצים נתמכים אחרים בקלות. אתה יכול לשמור תמונות בכמה פורמטים שימושיים מאוד כמו פורמטים JPEG, PNG ו-WEBP. הספרייה סיפקה תמיכת המרה עם הגדרות איכות ודחיסה נוספות. אתה רק צריך לספק את שם התמונה, הכתובת ופורמט ההמרה הנכונים והספרייה תמיר אותה עבורך בקלות עם כמה פקודות Go.

צילום דרך הספרייה הדמיון

func Convert(buf []byte, o ImageOptions) (Image, error) {
	if o.Type == "" {
		return Image{}, NewError("Missing required param: type", http.StatusBadRequest)
	}
	if ImageType(o.Type) == bimg.UNKNOWN {
		return Image{}, NewError("Invalid image type: "+o.Type, http.StatusBadRequest)
	}
	opts := BimgOptions(o)
	return Process(buf, opts)
}

חיתוך תמונה מקוון באמצעות Go

הספרייה הדמיונית של הקוד הפתוח מאפשרת למפתחי תוכנה לחתוך את התמונות שלהם באופן מקוון רק עם כמה שורות של קוד Go בתוך האפליקציות שלהם. אתה יכול לחתוך את התמונה שלך על ידי מתן רוחב או גובה מותאמים אישית. הספרייה מקלה על העבודה שלך על ידי שמירה על יחס התמונה. הספרייה תומכת גם בחיתוך התמונה באמצעות אלגוריתם החיתוך החכם המובנה של libvips. אתה יכול גם להגדיר את רמת דחיסת התמונה עבור תמונות PNG ולהפוך, להעיף ולסובב את התמונות שלך בקלות.

צילום: Go Library

{
    "operation": "crop",
    "params": {
      "width": 500,
      "height": 300
    }

שנה את גודל התמונות כך שיתאימו

הספרייה הדמיונית החינמית כללה תמיכה בשינוי גודל תמונות כך שיתאימו באמצעות פקודות Go בתוך האפליקציות שלהם. אתה יכול בקלות לשנות את גודל התמונה כך שתתאים לרוחב ולגובה, מבלי לחתוך. הספרייה מקלה על העבודה שלך על ידי שמירה על יחס הגובה-רוחב של התמונה. הרוחב והגובה מציינים תיבה תוחמת מקסימלית עבור התמונה.

הצגת תמונות דרך הספרייה חינם

func Resize(buf []byte, o ImageOptions) (Image, error) {
	if o.Width == 0 && o.Height == 0 {
		return Image{}, NewError("Missing required param: height or width", http.StatusBadRequest)
	}
	opts := BimgOptions(o)
	opts.Embed = true
	if o.IsDefinedField.NoCrop {
		opts.Crop = !o.NoCrop
	}
	return Process(buf, opts)
}

סובב וסובב אוטומטית את התמונות שלך

הספרייה הדמיונית החינמית סיפקה פונקציונליות לסיבוב התמונות שלך בקלות. הוא כלל גם פונקציה שימושית מאוד לסיבוב אוטומטי של תמונות בתוך יישומי Go. זה מסובב את התמונה באופן אוטומטי ללא שינויי תמונה נוספים בהתבסס על מטא נתונים של כיוון EXIF. שיטת ה-AutoRotate מייצרת תמונה חדשה באותו גודל ופורמט כמו תמונת הקלט.

Auto-Rotate תמונות דרך הספרייה החופשית

func AutoRotate(buf []byte, o ImageOptions) (out Image, err error) {
	defer func() {
		if r := recover(); r != nil {
			switch value := r.(type) {
			case error:
				err = value
			case string:
				err = errors.New(value)
			default:
				err = errors.New("libvips internal error")
			}
			out = Image{}
		}
	}
 עִברִית