trollsportverein
Anmeldungsdatum: 21. Oktober 2010
Beiträge: 3422
|
Wegen skalieren frage ich mich welches Icon-Format eigentlich das beste für KDE ist. Oft sind es PNG Icons die verwendet werden, aber ich hatte mir mal gedacht das SVG Icons eigentlich besser sein müssten, wegen skaliern auf die jeweils gewünschte Größe. Von Windows-Spielen stammen hingegen auch mal Icons im ICO-Format. Daher hatte ich mir ein KDE Servicemenü gemacht um Icons zu konvertieren, es funktioniert natürlich auch mit anderen Bildern:
Die SVGs sehen dann auch zunächst gut aus, wenn ich sie aber zur KDE-Kontrollleiste hinzufüge (als Miniprgramm) dann erscheinen die Ränder besonders bei runden Icons etwas ausgefranst. Die Konvertierung selbst macht Inkscape und die glätten Funktion habe ich auch dabei genutzt. Meine KDE-Kontrollleiste habe ich auf 24 Pixel Höhe eingestellt, ist also realtiv klein, bei den PNG Icons heißt das meist KDE muss das Icon runterskalieren, seltener hochskalieren. Vom Bildformat SVG hätte ich mir eigentlich erwartet, dass das optische Ergebnis besser ist und KDE auch weniger tun muss um die Icons passend zu skalieren.
|
ChickenLipsRfun2eat
Anmeldungsdatum: 6. Dezember 2009
Beiträge: 12067
|
SVG wäre an sich schon richtig. Es gibt aber keine Möglichkeit herkömmliche Bilder zu SVG zu konvertieren. Das wird so gemacht, dass die Binärdaten des Originalbildes in einen SVG-Rahmen „gekleidet“ werden. Daher sehen die konvertiert schrecklich aus. Da würde ich bei PNG bleiben. Da SVG Textdateien (XML) sind, kannst du das theoretisch leicht nachlesen. Hier ist mal eins aus meinem „Privatwiki“ (Wie ich gerade sehe noch in denglisch^^): 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 | <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="64" height="64">
<defs>
<style>
.one {
fill:url(#topLeftLight);
fill-opacity:0.9;
stroke:none;
}
</style>
<linearGradient id="frontschatten" x1="0%" y1="0%" x2="0%" y2="10%" gradientUnits="objectBoundingBox">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" />
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" />
</linearGradient>
<linearGradient id="frontfarbe" x1="0%" y1="0%" x2="100%" y2="100%" gradientUnits="objectBoundingBox" >
<stop offset="0%" style="stop-color:#282a36;stop-opacity:1" />
<stop offset="100%" style="stop-color:#980000;stop-opacity:1" />
</linearGradient>
<linearGradient id="heckfarbe" x1="100%" y1="100%" x2="0%" y2="100%" gradientUnits="objectBoundingBox" >
<stop style="stop-color:#980000;stop-opacity:1" offset="0" />
<stop style="stop-color:#282a36;stop-opacity:1" offset="1" />
</linearGradient>
<linearGradient id="topLeftLight" x1="0" y1="0" x2="100%" y2="100%" gradientUnits="objectBoundingBox" >
<stop offset="0" style="stop-color:#FEFEFE;stop-opacity:1" />
<stop offset="1" style="stop-color:#666666;stop-opacity:1" />
</linearGradient>
</defs>
<g>
<path id="folder_back" style="fill:url(#heckfarbe);fill-opacity:1" d="M 4 4 l32 0 l5 5 l19.5 0 l0 25 l-56.5 0 z" />
<path id="back_shadow" style="fill:#1E2029;fill-opacity:1;fill-rule:evenodd;opacity:0.5" d="M 36 4 l1 0 l4 4 l19.5 0 l0 1 l-19.5 0 z" />
<rect id="content_back_2" x="8" y="15" rx="0" ry="1" height="8" width="52" fill="#BBBBBB" />
<rect id="content_back_1" x="7" y="16" rx="0" ry="1" height="7" width="52" fill="#DDDDDD" stroke="none" />
<rect id="content_front" x="6" y="17" rx="0" ry="1" height="9.5" width="52" class="one" />
<path id="front_colored" style="fill:url(#frontfarbe)" d="M 3.5 26 l 18.5 0 l 5 -5 l 34.5 0 l 0 34 l-58 0z" />
<path id="front_shadow" fill="#1E2029" opacity="0.1" d="m 3.5 26 l17 0 l6 -6 l33 0 l 0 1 l2 0 l 0 34.5 -30,0 z" />
<path id="footer" class="one" d="m 4.49 56 c -0.55,0 -1,-0.45 -1,-1 l 0,-1 c 0,0.55 0.45,1 1.03,1 l 56,0 c 0.55,0 1,-0.45 1,-1 l 0,1 c 0,0.55 -0.45,1 -1,1 z" />
</g>
</svg>
|
Das ist ein echtes SVG. Die eingebetteten haben nen großen Block mit Binärdaten drin. Siehste dann schon.
|
trollsportverein
(Themenstarter)
Anmeldungsdatum: 21. Oktober 2010
Beiträge: 3422
|
Tatsächlich, das sind data:image/png;base64 codierte Bildchen mit xml Beschreibung ummantelt. So ganz schade um die Arbeit beim KDE-Servicemenü ist es aber trotzdem nicht. Habe das sogar noch ein wenig erweitert. Nun kann es auch animierte GIF machen. Die umgewandelten SVG-Icons werde ich dann aber wohl wieder nach und nach aus der KDE-Kontrollleiste herausnehmen, das sieht wirklich nicht so schön aus mit den etwas ausgefransten Rändern, besonders bei runden Icons.
|
trollsportverein
(Themenstarter)
Anmeldungsdatum: 21. Oktober 2010
Beiträge: 3422
|
Noch besser als mit einem einfachen PNG-Icon sieht es mit speziell zubereiteten *.ico Dateien aus. Dafür habe ich nun mein KDE-Servicemenü erweitert:
|