Fix layout icone en-tete: redimensionnement 24x24 avant affichage

Changements :
- Redimensionnement de l'icone PNG a 24x24 via CatmullRom (golang.org/x/image/draw)
- Corrige le decalage de l'interface cause par l'image 912x1164

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-25 12:51:04 +01:00
parent 3ffbb550ec
commit 2b2eb87f45
4 changed files with 12 additions and 4 deletions

Binary file not shown.

3
go.mod
View File

@@ -1,9 +1,10 @@
module gitchecker module gitchecker
go 1.22 go 1.25.0
require ( require (
github.com/lxn/walk v0.0.0-20210112085537-c389da54e794 github.com/lxn/walk v0.0.0-20210112085537-c389da54e794
golang.org/x/image v0.38.0
golang.org/x/sys v0.18.0 golang.org/x/sys v0.18.0
) )

2
go.sum
View File

@@ -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/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 h1:H+t6A/QJMbhCSEH5rAuRxh+CtW96g0Or0Fxa9IKr4uc=
github.com/lxn/win v0.0.0-20210218163916-a377121e959e/go.mod h1:KxxjdtRkfNoYDCUP5ryK7XJJNTnpC8atvtmTheChOtk= 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.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 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=

11
gui.go
View File

@@ -4,6 +4,7 @@ import (
"bytes" "bytes"
_ "embed" _ "embed"
"fmt" "fmt"
"image"
"image/png" "image/png"
"os" "os"
"os/exec" "os/exec"
@@ -15,6 +16,7 @@ import (
"github.com/lxn/walk" "github.com/lxn/walk"
. "github.com/lxn/walk/declarative" . "github.com/lxn/walk/declarative"
xdraw "golang.org/x/image/draw"
) )
//go:embed icon.png //go:embed icon.png
@@ -253,7 +255,7 @@ func (a *App) buildAndRun() error {
AssignTo: &a.iconView, AssignTo: &a.iconView,
MinSize: Size{Width: 24, Height: 24}, MinSize: Size{Width: 24, Height: 24},
MaxSize: Size{Width: 24, Height: 24}, MaxSize: Size{Width: 24, Height: 24},
Mode: ImageViewModeShrink, Mode: ImageViewModeIdeal,
}, },
Label{ Label{
Text: "Git Update Checker v" + VERSION, 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 { if img, err := png.Decode(bytes.NewReader(iconPNG)); err != nil {
logWarn("Icône PNG: décodage échoué: " + err.Error()) logWarn("Icône PNG: décodage échoué: " + err.Error())
} else { } 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 { if err != nil {
logWarn("Icône PNG: bitmap échoué: " + err.Error()) logWarn("Icône PNG: bitmap échoué: " + err.Error())
} else { } else {