第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么我在 Go 中遇到分段違規(guī)錯誤

為什么我在 Go 中遇到分段違規(guī)錯誤

Go
四季花海 2022-10-10 17:49:31
我正在嘗試導入 2 個 png 圖像并將一個粘貼到另一個之上。輸出將是 jpeg。當我運行下面的代碼時,我得到了這個錯誤:image: unknown formatimage: unknown formatpanic: runtime error: invalid memory address or nil pointer dereference[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x109d7a4]goroutine 1 [running]:main.main()每當我使用“ Bounds() ”方法時都會出錯。你認為是什么原因。代碼:func main() {    imgFile1, err := os.Open("./pics/00/body.png")    if err != nil {        fmt.Println(err)    }    defer imgFile1.Close()    imgFile2, err := os.Open("./pics/01/face.png")    if err != nil {        fmt.Println(err)    }    defer imgFile2.Close()    img1, _, err := image.Decode(imgFile1)    if err != nil {        fmt.Println(err)    }    img2, _, err := image.Decode(imgFile2)    if err != nil {        fmt.Println(err)    }    //new rectangle for the second image    sp1 := image.Point{0,0}    sp2 := image.Point{img1.Bounds().Dx(),img1.Bounds().Dy()}    r2 := image.Rectangle{sp1, sp2}    //create new image    rgba := image.NewRGBA(r2)    //draw the two images into this new image    draw.Draw(rgba, r2, img1, image.Point{0, 0}, draw.Src)    draw.Draw(rgba, r2, img2, image.Point{0, 0}, draw.Src)    //export it    out, err := os.Create("./output.jpg")    if err != nil {        fmt.Println(err)    }    defer out.Close()    var opt jpeg.Options    opt.Quality = 80    jpeg.Encode(out, rgba, &opt)}
查看完整描述

1 回答

?
繁花不似錦

TA貢獻1851條經(jīng)驗 獲得超4個贊

我不確定為什么 Go 有兩種解碼方式。如果您知道文件類型,我認為最好只使用特定的包:


package main


import (

   "fmt"

   "image/png"

   "net/http"

)


const ava = "http://gravatar.com/avatar/5ec9c21c8d54825b04def7a41998d18d"


func main() {

   r, err := http.Get(ava)

   if err != nil {

      panic(err)

   }

   defer r.Body.Close()

   i, err := png.Decode(r.Body)

   if err != nil {

      panic(err)

   }

   dx := i.Bounds().Dx()

   fmt.Println(dx)

}

如果您堅持使用其他方法,則需要添加一個導入(感謝mkopriva):


import (

   "image"

   _ "image/png"

)

https://godocs.io/image/png#Decode


查看完整回答
反對 回復 2022-10-10
  • 1 回答
  • 0 關注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號