##備忘録##
hajimehoshi氏によって作られた
2Dゲームを作れるgo言語のフレームワークである "ebiten"を使う
##code##
func Update(r *ebiten.Image){
var err error
img, _, err = ebitenutil.NewImageFromFile("test.jpeg", ebiten.FilterDefault)
if err != nil {
log.Fatal(err)
}
w, h := img.Size()
imgDst := image.NewRGBA(image.Rect(0,0,w/2,h/2))
draw.CatmullRom.Scale(imgDst, imgDst.Bounds(), img, img.Bounds(), draw.Over, nil)
ebitenImage,_ :=ebiten.NewImageFromImage(imgDst,ebiten.FilterDefault)
NewImageFromFileについて
この関数で画像を読み取り、Decodeしてくれて Image として返してくれる。
image.NewRGBAについて
彼がこれから私が変更したい画像サイズの型を作ってくれる。
draw.CatmullRom.Scaleについて
彼はNewRGBAさんが作った型にドロドロに溶けたImageを流し込む
出来たImageはただのImageなのでebitenで表示できない
ebiten.NewImageFromImageについて
この人が表示できるように加工してくれる
追記
ebitenの作者の方からのコメントがあり、
NewImage系の関数はUpdate関数で毎回読みだす必要はなく初期化の欄に記入する方がいいらしいです。
###参考文献###
Go 言語で画像のサイズを変更する
ebiten
####最後に####
もし違うところがあったら教えてください