fix(brand): Haarstrich an der Naht des AirCard-IOS-Symbols
Die Maske hatte exakt die Kartenkante als Region und als weißes Feld; die Kantenglättung wurde doppelt angewendet und ließ bei Vergrößerung einen hellen Strich. Jetzt Standardregion der Maske und ein überstehendes weißes Feld. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
9c4e80ec9a
commit
e7acd79225
2 files changed
+16
-1
No files matched your search
@@ -1 +1 @@
|
||||
<svg viewBox="172 360 680 730" xmlns="http://www.w3.org/2000/svg"><defs><mask id="aircards-symbol-waves" width="680" height="430" x="172" y="660" maskUnits="userSpaceOnUse"><path fill="#fff" d="M172 660h680v430H172z"/><g fill="none" stroke="#000" stroke-linecap="round" stroke-width="32"><path d="M591.1 843.9a44 44 0 0 1 0 62.2m34-96.2a92 92 0 0 1 0 130.2"/><path d="M659 776a140 140 0 0 1 0 198"/></g></mask></defs><g fill="currentColor"><path fill-opacity=".45" d="M252 360h520a80 80 0 0 1 80 80v150a80 80 0 0 0-80-80H252a80 80 0 0 0-80 80V440a80 80 0 0 1 80-80"/><path fill-opacity=".7" d="M252 510h520a80 80 0 0 1 80 80v150a80 80 0 0 0-80-80H252a80 80 0 0 0-80 80V590a80 80 0 0 1 80-80"/><rect width="680" height="430" x="172" y="660" mask="url(#aircards-symbol-waves)" rx="80"/></g></svg>
|
||||
<svg viewBox="172 360 680 730" xmlns="http://www.w3.org/2000/svg"><defs><mask id="aircards-symbol-waves"><path fill="#fff" d="M100 600h1000v600H100z"/><g fill="none" stroke="#000" stroke-linecap="round" stroke-width="32"><path d="M591.1 843.9a44 44 0 0 1 0 62.2m34-96.2a92 92 0 0 1 0 130.2"/><path d="M659 776a140 140 0 0 1 0 198"/></g></mask></defs><g fill="currentColor"><path fill-opacity=".45" d="M252 360h520a80 80 0 0 1 80 80v150a80 80 0 0 0-80-80H252a80 80 0 0 0-80 80V440a80 80 0 0 1 80-80"/><path fill-opacity=".7" d="M252 510h520a80 80 0 0 1 80 80v150a80 80 0 0 0-80-80H252a80 80 0 0 0-80 80V590a80 80 0 0 1 80-80"/><rect width="680" height="430" x="172" y="660" mask="url(#aircards-symbol-waves)" rx="80"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 794 B After Width: | Height: | Size: 727 B |
@@ -175,6 +175,21 @@ describe('AirCard-IOS-Marken', () => {
|
||||
expect(symbol).not.toMatch(/fill-opacity="1"/);
|
||||
});
|
||||
|
||||
it('Symbol: die Maske hat keine eigene Region und ihr weißes Feld ist größer als die vordere Karte (kein Haarstrich an der Naht)', () => {
|
||||
const tag = /<mask\b[^>]*>/.exec(symbol)?.[0] ?? '';
|
||||
// Ohne x/y/width/height gilt die Standardregion (-10 % / 120 % der Karte); eine Region exakt auf der Kartenkante
|
||||
// würde deren Kantenglättung doppelt anwenden und bei Vergrößerung einen hellen Strich lassen.
|
||||
expect(tag).not.toMatch(/\s(?:x|y|width|height|maskUnits)=/);
|
||||
const white = /<mask\b[^>]*>\s*<path\b[^>]*fill="#fff"[^>]*\bd="M(-?[\d.]+)[ ,](-?[\d.]+)h([\d.]+)v([\d.]+)H/.exec(symbol);
|
||||
expect(white, 'weißes Rechteck am Anfang der Maske').not.toBeNull();
|
||||
const [x, y, w, h] = white!.slice(1).map(Number);
|
||||
// Die vordere Karte: x 172–852, y 660–1090.
|
||||
expect(x).toBeLessThan(172);
|
||||
expect(y).toBeLessThan(660);
|
||||
expect(x + w).toBeGreaterThan(852);
|
||||
expect(y + h).toBeGreaterThan(1090);
|
||||
});
|
||||
|
||||
it('Symbol: enge viewBox um die drei Karten (680 x 730)', () => {
|
||||
expect(svgAspect(symbol)).toBeCloseTo(680 / 730, 3);
|
||||
});
|
||||
|
||||
Reference in new issue
Block a user