systeemvak + icoon grootte
This commit is contained in:
1 parent
465ec9837b
commit
136eda40ba
8 files changed
+88
-7
No files matched your search
@@ -2,6 +2,13 @@
|
||||
|
||||
Alle noemenswaardige wijzigingen in kniip staan in dit bestand. De nieuwste versie staat bovenaan.
|
||||
|
||||
## 1.1.7 - 2026-11-09
|
||||
|
||||
### Gewijzigd
|
||||
|
||||
- Het icoon in het systeemvak is groter en sluit aan bij de andere systeemvakpictogrammen.
|
||||
- De tekst bij het icoon is nu **kniip**. Tijdens een opname staat daar **kniip - opname loopt**.
|
||||
|
||||
## 1.1.6 - 2026-11-09
|
||||
|
||||
### Nieuw
|
||||
|
||||
@@ -34,7 +34,7 @@ kniip is een annotatie-editor die naast het Windows Knipprogramma werkt. Maak ee
|
||||
|
||||
| Versie | Installer |
|
||||
| ------ | --------- |
|
||||
| 1.1.6 | [Kniip-Setup-1.1.6.exe](https://git.hibbit.net/rogier/kniip/releases/download/1.1.6/Kniip-Setup-1.1.6.exe) |
|
||||
| 1.1.7 | [Kniip-Setup-1.1.7.exe](https://git.hibbit.net/rogier/kniip/releases/download/1.1.7/Kniip-Setup-1.1.7.exe) |
|
||||
|
||||
Oudere versies vind je bij [alle releases](https://git.hibbit.net/rogier/kniip/releases).
|
||||
|
||||
@@ -80,7 +80,7 @@ Vereisten:
|
||||
Bouwen:
|
||||
|
||||
```powershell
|
||||
.\build.ps1 # versie 1.1.6
|
||||
.\build.ps1 # versie 1.1.7
|
||||
.\build.ps1 -Version 1.2.0 # andere versie
|
||||
```
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
# .\build.ps1 -SkipTest -> zonder testexe
|
||||
|
||||
param(
|
||||
[string]$Version = "1.1.6",
|
||||
[string]$Version = "1.1.7",
|
||||
[string]$Runtime = "win-x64",
|
||||
[switch]$SkipTest
|
||||
)
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
#define AppName "kniip"
|
||||
#define AppExe "Kniip.exe"
|
||||
#ifndef AppVersion
|
||||
#define AppVersion "1.1.6"
|
||||
#define AppVersion "1.1.7"
|
||||
#endif
|
||||
#ifndef PublishDir
|
||||
#define PublishDir "..\artifacts\publish"
|
||||
|
||||
@@ -225,7 +225,7 @@ internal sealed class TrayIcon : IDisposable
|
||||
|
||||
private static string IdleText => AppIdentity.IsTest
|
||||
? $"{AppIdentity.DisplayName} {Kniip.Update.UpdateChecker.CurrentVersion}"
|
||||
: "kniip - annotaties voor het Knipprogramma";
|
||||
: AppIdentity.DisplayName;
|
||||
|
||||
private void BuildFolders()
|
||||
{
|
||||
@@ -316,7 +316,8 @@ internal sealed class TrayIcon : IDisposable
|
||||
|
||||
private static Icon LoadIcon()
|
||||
{
|
||||
var info = System.Windows.Application.GetResourceStream(new Uri("pack://application:,,,/AppIcon.ico"));
|
||||
// Uitsnede van AppIcon.ico zonder snijlijnen (tools\make-tray-icon.ps1): op 16px vult het kader zo het vak.
|
||||
var info = System.Windows.Application.GetResourceStream(new Uri("pack://application:,,,/TrayIcon.ico"));
|
||||
if (info == null)
|
||||
{
|
||||
return SystemIcons.Application;
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||
<Product>kniip</Product>
|
||||
<Description>Annotatie-editor naast het Windows Knipprogramma</Description>
|
||||
<Version>1.1.6</Version>
|
||||
<Version>1.1.7</Version>
|
||||
<SatelliteResourceLanguages>nl;en</SatelliteResourceLanguages>
|
||||
<!-- WPF regelt DPI via app.manifest; de WinForms-analyzer is hier niet van toepassing. -->
|
||||
<NoWarn>$(NoWarn);WFAC010</NoWarn>
|
||||
@@ -34,6 +34,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<Resource Include="AppIcon.ico" />
|
||||
<Resource Include="TrayIcon.ico" />
|
||||
<Resource Include="Assets\Emoji\emoji.json;Assets\Emoji\twemoji-64.png" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 8.5 KiB |
@@ -0,0 +1,72 @@
|
||||
# Maakt src/Kniip/TrayIcon.ico uit de 256px-afbeelding in AppIcon.ico. Het systeemvak tekent op 16px;
|
||||
# daar zijn de snijlijnen en de zwarte rand op een donkere taakbalk onzichtbaar en lijkt het icoon klein.
|
||||
# Dit snijdt alleen het fotokader uit, zodat dat het hele vak vult. Opnieuw draaien als AppIcon.ico wijzigt.
|
||||
|
||||
$ErrorActionPreference = 'Stop'
|
||||
Add-Type -AssemblyName System.Drawing
|
||||
|
||||
$root = Split-Path -Parent $PSScriptRoot
|
||||
$source = Join-Path $root 'src\Kniip\AppIcon.ico'
|
||||
$target = Join-Path $root 'src\Kniip\TrayIcon.ico'
|
||||
|
||||
# Kader in de 256px-afbeelding, inclusief de zwarte rand.
|
||||
$crop = New-Object System.Drawing.Rectangle 42, 42, 172, 172
|
||||
$sizes = 16, 20, 24, 32, 40, 48, 64
|
||||
|
||||
function Get-IcoPng([byte[]]$ico, [int]$size) {
|
||||
$count = [BitConverter]::ToUInt16($ico, 4)
|
||||
for ($i = 0; $i -lt $count; $i++) {
|
||||
$entry = 6 + $i * 16
|
||||
$width = if ($ico[$entry] -eq 0) { 256 } else { $ico[$entry] }
|
||||
if ($width -eq $size) {
|
||||
$length = [BitConverter]::ToUInt32($ico, $entry + 8)
|
||||
$offset = [BitConverter]::ToUInt32($ico, $entry + 12)
|
||||
$data = New-Object byte[] $length
|
||||
[Array]::Copy($ico, $offset, $data, 0, $length)
|
||||
return $data
|
||||
}
|
||||
}
|
||||
throw "Geen ${size}px-afbeelding in $source"
|
||||
}
|
||||
|
||||
$png = Get-IcoPng ([IO.File]::ReadAllBytes($source)) 256
|
||||
$master = [System.Drawing.Bitmap]::FromStream((New-Object IO.MemoryStream (, $png)))
|
||||
|
||||
$images = foreach ($size in $sizes) {
|
||||
$bitmap = New-Object System.Drawing.Bitmap $size, $size, ([System.Drawing.Imaging.PixelFormat]::Format32bppArgb)
|
||||
$g = [System.Drawing.Graphics]::FromImage($bitmap)
|
||||
$g.InterpolationMode = [System.Drawing.Drawing2D.InterpolationMode]::HighQualityBicubic
|
||||
$g.PixelOffsetMode = [System.Drawing.Drawing2D.PixelOffsetMode]::HighQuality
|
||||
$g.CompositingQuality = [System.Drawing.Drawing2D.CompositingQuality]::HighQuality
|
||||
$g.DrawImage($master, (New-Object System.Drawing.Rectangle 0, 0, $size, $size), $crop, [System.Drawing.GraphicsUnit]::Pixel)
|
||||
$g.Dispose()
|
||||
$stream = New-Object IO.MemoryStream
|
||||
$bitmap.Save($stream, [System.Drawing.Imaging.ImageFormat]::Png)
|
||||
$bitmap.Dispose()
|
||||
, $stream.ToArray()
|
||||
}
|
||||
$master.Dispose()
|
||||
|
||||
$out = New-Object IO.MemoryStream
|
||||
$writer = New-Object IO.BinaryWriter $out
|
||||
$writer.Write([UInt16]0)
|
||||
$writer.Write([UInt16]1)
|
||||
$writer.Write([UInt16]$sizes.Count)
|
||||
$offset = 6 + 16 * $sizes.Count
|
||||
for ($i = 0; $i -lt $sizes.Count; $i++) {
|
||||
$writer.Write([byte]$sizes[$i])
|
||||
$writer.Write([byte]$sizes[$i])
|
||||
$writer.Write([byte]0)
|
||||
$writer.Write([byte]0)
|
||||
$writer.Write([UInt16]1)
|
||||
$writer.Write([UInt16]32)
|
||||
$writer.Write([UInt32]$images[$i].Length)
|
||||
$writer.Write([UInt32]$offset)
|
||||
$offset += $images[$i].Length
|
||||
}
|
||||
foreach ($image in $images) {
|
||||
$writer.Write($image)
|
||||
}
|
||||
$writer.Flush()
|
||||
[IO.File]::WriteAllBytes($target, $out.ToArray())
|
||||
Write-Host "Geschreven: $target"
|
||||
Reference in new issue
Block a user