diff --git a/GitUpdateChecker.exe b/GitUpdateChecker.exe index 63d946a..d239b4e 100644 Binary files a/GitUpdateChecker.exe and b/GitUpdateChecker.exe differ diff --git a/go.mod b/go.mod index 9483207..b444fde 100644 --- a/go.mod +++ b/go.mod @@ -1,9 +1,10 @@ module gitchecker -go 1.22 +go 1.25.0 require ( github.com/lxn/walk v0.0.0-20210112085537-c389da54e794 + golang.org/x/image v0.38.0 golang.org/x/sys v0.18.0 ) diff --git a/go.sum b/go.sum index 76771cb..64401fe 100644 --- a/go.sum +++ b/go.sum @@ -2,6 +2,8 @@ github.com/lxn/walk v0.0.0-20210112085537-c389da54e794 h1:NVRJ0Uy0SOFcXSKLsS65Om github.com/lxn/walk v0.0.0-20210112085537-c389da54e794/go.mod h1:E23UucZGqpuUANJooIbHWCufXvOcT6E7Stq81gU+CSQ= github.com/lxn/win v0.0.0-20210218163916-a377121e959e h1:H+t6A/QJMbhCSEH5rAuRxh+CtW96g0Or0Fxa9IKr4uc= github.com/lxn/win v0.0.0-20210218163916-a377121e959e/go.mod h1:KxxjdtRkfNoYDCUP5ryK7XJJNTnpC8atvtmTheChOtk= +golang.org/x/image v0.38.0 h1:5l+q+Y9JDC7mBOMjo4/aPhMDcxEptsX+Tt3GgRQRPuE= +golang.org/x/image v0.38.0/go.mod h1:/3f6vaXC+6CEanU4KJxbcUZyEePbyKbaLoDOe4ehFYY= golang.org/x/sys v0.0.0-20201018230417-eeed37f84f13/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= diff --git a/gui.go b/gui.go index 515b6bb..35f519d 100644 --- a/gui.go +++ b/gui.go @@ -4,6 +4,7 @@ import ( "bytes" _ "embed" "fmt" + "image" "image/png" "os" "os/exec" @@ -15,6 +16,7 @@ import ( "github.com/lxn/walk" . "github.com/lxn/walk/declarative" + xdraw "golang.org/x/image/draw" ) //go:embed icon.png @@ -253,7 +255,7 @@ func (a *App) buildAndRun() error { AssignTo: &a.iconView, MinSize: Size{Width: 24, Height: 24}, MaxSize: Size{Width: 24, Height: 24}, - Mode: ImageViewModeShrink, + Mode: ImageViewModeIdeal, }, Label{ Text: "Git Update Checker v" + VERSION, @@ -342,11 +344,14 @@ func (a *App) buildAndRun() error { } } - // Icône dans l'en-tête (depuis PNG embarqué dans l'exe) + // Icône dans l'en-tête (depuis PNG embarqué dans l'exe, redimensionné 24x24) if img, err := png.Decode(bytes.NewReader(iconPNG)); err != nil { logWarn("Icône PNG: décodage échoué: " + err.Error()) } else { - bmp, err := walk.NewBitmapFromImageForDPI(img, 96) + const iconSize = 24 + dst := image.NewRGBA(image.Rect(0, 0, iconSize, iconSize)) + xdraw.CatmullRom.Scale(dst, dst.Bounds(), img, img.Bounds(), xdraw.Over, nil) + bmp, err := walk.NewBitmapFromImageForDPI(dst, 96) if err != nil { logWarn("Icône PNG: bitmap échoué: " + err.Error()) } else {