首頁 後端開發 Golang Golang圖片處理:學習如何添加浮水印和文字

Golang圖片處理:學習如何添加浮水印和文字

Aug 17, 2023 am 08:41 AM
水印 圖片處理 golang圖片處理golang

Golang圖片處理:學習如何添加浮水印和文字

Golang圖片處理:學習如何添加浮水印和文字

引言:
在現代數位化和社群媒體的時代,圖片處理已經成為了一項重要的技能。無論是個人使用還是商務運營,添加浮水印和文字都是常見的需求。在本文中,我們將探討使用Golang進行圖片處理的方法,學習如何添加浮水印和文字。

背景:
Golang是一門開源的程式語言,以其簡潔的語法、高效的性能和強大的並發能力而聞名。它已經成為許多開發者的首選語言之一。在Golang中,有一些強大的第三方函式庫,使得圖片處理變得容易且有效率。

新增浮水印:
新增浮水印是一種保護個人或商業圖片版權的常見技術。下面是一個範例,展示如何使用Golang新增浮水印到一張圖片上:

package main

import (
    "image"
    "image/draw"
    "image/jpeg"
    "os"
)

func main() {
    // 打开原始图片
    file, err := os.Open("original.jpg")
    if err != nil {
        panic(err)
    }
    defer file.Close()

    // 解码图片
    img, _, err := image.Decode(file)
    if err != nil {
        panic(err)
    }

    // 创建一个画布
    bounds := img.Bounds()
    canvas := image.NewRGBA(bounds)

    // 绘制原始图片到画布上
    draw.Draw(canvas, bounds, img, image.Point{}, draw.Src)

    // 添加水印
    watermark := image.NewRGBA(image.Rect(0, 0, 100, 50))
    draw.Draw(canvas, image.Rect(bounds.Dx()-100, bounds.Dy()-50, bounds.Dx(), bounds.Dy()), watermark, image.Point{}, draw.Src)

    // 保存处理后的图片
    output, err := os.Create("output.jpg")
    if err != nil {
        panic(err)
    }
    defer output.Close()

    // 编码保存到文件
    jpeg.Encode(output, canvas, nil)
}
登入後複製

以上程式碼首先開啟了一張名為"original.jpg"的圖片檔案。然後將其解碼為一個image.Image對象,接著創建了一個新的RGBA畫布,並將原始圖片繪製到畫布上。最後,創建了一個100x50大小的浮水印,並將其繪製到畫布的右下角。最終產生的帶有浮水印的圖片被儲存為"output.jpg"。

新增文字:
新增文字是另一個常見的圖片處理需求,它可以用來新增標題、描述或其他說明。下面是一個範例,展示如何使用Golang在圖片上新增文字:

package main

import (
    "image"
    "image/draw"
    "image/jpeg"
    "os"
    "github.com/golang/freetype"
    "github.com/golang/freetype/truetype"
    "golang.org/x/image/font"
)

func main() {
    // 打开原始图片
    file, err := os.Open("original.jpg")
    if err != nil {
        panic(err)
    }
    defer file.Close()

    // 解码图片
    img, _, err := image.Decode(file)
    if err != nil {
        panic(err)
    }

    // 创建一个画布
    bounds := img.Bounds()
    canvas := image.NewRGBA(bounds)

    // 绘制原始图片到画布上
    draw.Draw(canvas, bounds, img, image.Point{}, draw.Src)

    // 添加文字
    fontBytes, err := os.ReadFile("font.ttf")
    if err != nil {
        panic(err)
    }
    font, err := freetype.ParseFont(fontBytes)
    if err != nil {
        panic(err)
    }

    context := freetype.NewContext()
    context.SetDPI(72)
    context.SetFont(font)
    context.SetFontSize(24)
    context.SetClip(bounds)
    context.SetDst(canvas)
    context.SetSrc(image.Black)

    pt := freetype.Pt(10, 10+int(context.PointToFixed(24)>>6))
    context.DrawString("Hello, Golang!", pt)

    // 保存处理后的图片
    output, err := os.Create("output.jpg")
    if err != nil {
        panic(err)
    }
    defer output.Close()

    // 编码保存到文件
    jpeg.Encode(output, canvas, nil)
}
登入後複製

以上程式碼與新增浮水印的範例類似,但我們使用了第三方函式庫freetype來新增文字。首先開啟了一個名為"original.jpg"的圖片文件,然後解碼為image.Image物件。接著創建了一個新的RGBA畫布,並將原始圖片繪製到畫布上。然後,載入了一個TrueType字型檔案並將其解析為freetype.Font物件。建立了一個freetype.Context對象,並設定了字體、字號等繪製參數。最後,呼叫了DrawString函數,在畫布上加入了文字。最終產生的圖片被儲存為"output.jpg"。

結語:
Golang作為一門強大的程式語言,擁有豐富的第三方函式庫和工具,使得圖片處理變得簡單而有效率。本文介紹如何使用Golang添加浮水印和文字到圖片上,並提供了相應的程式碼範例。希望本文可以幫助讀者學習如何使用Golang進行圖片處理,並在實際應用中發揮作用。

以上是Golang圖片處理:學習如何添加浮水印和文字的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

ppt怎麼做圓形的圖片和文字 ppt怎麼做圓形的圖片和文字 Mar 26, 2024 am 10:23 AM

首先,在 PPT 中繪製一個圓圈,然後插入一個文字框,輸入文字內容。最後,設定文字方塊的填滿和輪廓為無,即可完成圓形圖片和文字的製作。

美圖秀秀怎麼加浮水印呢?分享美圖秀加入浮水印方法! 美圖秀秀怎麼加浮水印呢?分享美圖秀加入浮水印方法! Mar 16, 2024 pm 09:55 PM

想知道美圖秀怎麼加浮水印嗎?美圖秀秀是一款非常好用的修圖p圖軟體,提供摳圖放在另一個圖、改圖片大小kb、去浮水印、換證件照底色、全螢幕加時間日期地點水印等功能,可以幫助使用者快速的完成圖片的製作。有用戶製作了自己的圖片不想被別人盜圖想要鋪滿自己的浮水印,但不知道如何操作?小編現在為大家分享美圖秀加入浮水印方法!喜歡就快來下載吧!一、美圖秀怎麼加浮水印?分享美圖秀加入浮水印方法! 1.開啟在本站下載的美圖秀2023版。美圖秀2023版類別:拍攝美化下載美圖秀2023版是一款功能豐富的圖片美化與編輯軟

剪映怎麼去水印 怎麼去除剪映水印 剪映怎麼去水印 怎麼去除剪映水印 Feb 22, 2024 pm 05:16 PM

開啟剪映並選擇模板,編輯好影片以後點選匯出,點選無浮水印並分享。教學適用型號:iPhone13系統:iOS15.3.1版本:剪映6.8.0解析1開啟剪映並選擇剪輯範本。 2點選開啟模板後,點選右下角的剪同款選項。 3從相簿中選擇照片填充片段並點擊下一步。 4如何點選頁面右上角的匯出選項。 5最後點選無浮水印並分享就可以了。補充:剪映是什麼軟體1剪映是影片編輯軟體,擁有全面的剪輯功能,可以變速、有濾鏡和美顏效果,還有豐富的曲庫資源。自2021年2月起,剪映支援在手機行動端,Pad端,Mac電

掃描全能王去除水印怎麼去除 掃描全能王去除水印怎麼去除 Mar 05, 2024 pm 05:34 PM

去除浮水印是軟體掃描全能王中的一個好用的工具,有些用戶還不太清楚掃描全能王去除水印怎麼去除,可以在保存界面點擊編輯PDF中的去除水印即可閉,接下來就是小編為用戶帶來的去除浮水印方法的介紹,有興趣的用戶快來一起看看吧!掃描全能王使用教學掃描全能王去除浮水印怎麼去除答:可以在儲存介面點選編輯PDF中的移除浮水印詳情介紹:1、進入軟體,點選【相機】圖示。 2、拍攝掃描需要去浮水印的文件。 3.點選【→】進入下一步。 4.完成編輯後,點選【✓】。 5.點選其中的【編輯PDF】。 6.選擇下方的【去除浮水印】即可。

Wink如何去影片浮水印 Wink如何去影片浮水印 Feb 23, 2024 pm 07:22 PM

Wink如何去視訊浮水印?winkAPP中是有去除掉視訊浮水印的工具,但是多數的小伙伴不知道wink中如何去除掉視頻中的水印,接下來就是小編為玩家帶來的Wink視頻去水印方法圖文教程,有興趣的用戶快來一起看看吧! Wink如何去視訊浮水印1、先開啟winkAPP,在首頁面專區中選擇【去浮水印】功能;2、然後在相簿中選擇你需要去除水印的影片;3、接著選擇影片之後,剪輯影片之後點擊右上角【√】;4、最後點選如下圖的【一鍵去印】之後點選【處理】即可。

小米14怎麼設定拍照浮水印? 小米14怎麼設定拍照浮水印? Mar 18, 2024 am 11:00 AM

為了讓拍攝出的照片更具個性和獨特性,小米14提供了拍照水印設定。透過設定拍照浮水印,使用者可以在拍攝的照片上添加圖案、文字和標誌,使得每一張照片都能更好地記錄下珍貴的時刻和回憶。接下來,我們將介紹如何在小米14中設定拍照浮水印,讓您的照片更加個人化和生動。小米14怎麼設定拍照浮水印? 1.首先點選“相機”。 2、然後點選「設定」。 3.接著找到浮水印,隨後就可以開始拍攝了。

小米14Ultra如何去除浮水印? 小米14Ultra如何去除浮水印? Feb 28, 2024 pm 02:28 PM

小米14Ultra是一款性能配置非常不錯的全新機型,這款手機還採用了與眾不同的外觀設計,顏值更高辨識度也很不錯,很多入手的消費者們想要了解一下小米14Ultra怎麼去除浮水印? ,下面本站小編就來為大家介紹吧!小米14Ultra怎麼去除浮水印? 1.開啟相機應用程式:找到並開啟小米14預先安裝的相機應用程式。 2.進入設定選單:點選畫面右下角或左下角(取決於您使用哪個版本)顯示其他選項按鈕。然後,在彈出式選單中選擇“設定”。 3.關閉浮水印選項:在設定選單中,您將看到各種選項和參數。向下滑動直到找到“浮水印”選項

win11 24H2右下角的評估副本水印怎麼去掉? 去除win11右下角評估副本技巧 win11 24H2右下角的評估副本水印怎麼去掉? 去除win11右下角評估副本技巧 Jun 01, 2024 pm 09:52 PM

win1124H2如何消除右下角的評估副本文字?我們在使用系統的時候有時候桌面會在右下角的螢幕顯示一個透明的浮水印,那麼這個透明的水印要怎麼去掉?使用者可以直接的利用第三方軟體來進行操作就可以了。以下就讓本站來為使用者來仔細的介紹一下消除win1124H2評估副本浮水印的方法吧。消除win1124H2評估副本浮水印的方法下載UniversalWatermarkDisabler工具,運行後會顯示出目前系統的版本以及水印狀態,「Status」中顯示「Readyforinstallation」即已可以移除

See all articles