Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>Icons per Quicklook erstellen

Icons per Quicklook erstellen

Naquaada02.03.1021:29
Gibt es eine Möglichkeit, aus den Quicklook-Vorschauicons echte Icons zu machen? Bei meinem iBook ist Quicklook auf Dauer zu langsam, rein weiße Icons sehen allerdings auch doof aus.

Ich habe schon lange gesucht, die meisten Icon-Tools die es gibt können nur Bilder konvertieren und erstellen dann nur eine 1:1-Verkleinerung, Quicklook-Icons haben ja auch immer ein paar optische Effekte. Bei mir sind auch andere Dateitypen als nur Bilder dabei, aber Quicklook-Plugins habe ich dafür. Eine Größe von 128x128 Pixel würde reichen, allerdings wäre eine Batchverarbeitung nicht schlecht.

Habe mein iBook übrigens per Terminal-Kommando von jeglichem Intel-Code gereinigt, läuft problemlos und spart nochmal 1.2 GB
0

Kommentare

woy02.03.1021:35
Glaube nicht das dass geht. Habe ich auch schonmal versucht.
0
macdevil
macdevil02.03.1022:43
Hä? Ich verstehe deine Frage nicht.
„Wie poste ich richtig: Ich schreibe einfach überall irgendwas hin. Egal wie unnötig mein Post ist.“
0
Naquaada02.03.1023:34
Also: Quicklook erstellt im Finder ja (temporäre) Icons mit einer Vorschau der Datei (z.B. ein Bild oder ein PDF). Dieses von Quicklook generierte Icon möchte ich auch als 'normales' Icon verwenden können, also ohne daß Quicklook aktiviert ist. Quicklook verlangsamt das Arbeiten auf dem iBook zu sehr.
0
Termi
Termi03.03.1000:02
Icon per Bildschirmfoto speichern und in der Applikation hinterlegen?!
Also Apple+Shift+4 drücken und ausschneiden. Dann in eine icns Datei konvertieren (siehe http://en.wikipedia.org/wiki/Apple_Icon_Image_format) und auf das Wunschprogramm mit der rechten Maustaste klicken und "Paketinhalt zeigen" wählen. Dann im Ordner Ressources die Datei <programmname>.icns durch Deine Wunschgrafik ersetzen.

Hoffe, ich habe die Frage richtig verstanden...
0
Naquaada03.03.1014:28
Also die Icons sollen ja nicht als .icns-Dateien gespeichert werden, sondern als normale Icons eingefügt werden, also per copy/paste im Informations-Fenster. Das mit dem Bildschirmfoto geht nicht, da Quicklook Transparenzen benutzt (z.B. für Schatten). Außerdem: mach das mal bei einigen hundert Dateien
0
dirac03.03.1014:33
Du willst also die (Datei-/Inhalts-)Vorschau als Icon speichern?!?!

Ich denke das wird schwierig, aber vielleicht kann ja jemand mit dem Begriff Vorschau mehr anfangen und dir helfen.
0
macdevil
macdevil03.03.1014:51
dirac
Ich denke das wird schwierig, aber vielleicht kann ja jemand mit dem Begriff Vorschau mehr anfangen und dir helfen.

Wenn du hier schon klugscheissen willst, dann richtig.
Das Teil heisst "Übersicht". Vorschau ist eine andere Applikation.
„Wie poste ich richtig: Ich schreibe einfach überall irgendwas hin. Egal wie unnötig mein Post ist.“
0
dirac03.03.1015:05
macdevil
Wenn du hier schon klugscheissen willst, dann richtig.
Das Teil heisst "Übersicht". Vorschau ist eine andere Applikation.

Nur weil du nicht verstehst was ich schreibe, heißt das noch nicht das ich klugscheisse!

Ich meine ja auch nicht die Anwendung Vorschau oder Quicklook, sondern die im Finder aktivierbare (und vom TE gemeinte) Symbolvorschau die man anstelle des Dateiicons anzeigen lassen kann. Auch unter MacOS heißt das Vorschau!

0
macdevil
macdevil03.03.1015:13
dirac
macdevil
Wenn du hier schon klugscheissen willst, dann richtig.
Das Teil heisst "Übersicht". Vorschau ist eine andere Applikation.

Nur weil du nicht verstehst was ich schreibe, heißt das noch nicht das ich klugscheisse!

Ich meine ja auch nicht die Anwendung Vorschau oder Quicklook, sondern die im Finder aktivierbare (und vom TE gemeinte) Symbolvorschau die man anstelle des Dateiicons anzeigen lassen kann. Auch unter MacOS heißt das Vorschau!

Hier wird vom TE nur von Quicklook gesprochen.
„Wie poste ich richtig: Ich schreibe einfach überall irgendwas hin. Egal wie unnötig mein Post ist.“
0
dirac03.03.1015:32
Naquaada will
Naquaada
aus den Quicklook-Vorschauicons echte Icons zu machen?

Das klingt für mich nach einer sehr unglücklichen Umschreibung der Symbolvorschau. Richtigstellen kann das jetzt nur Naquaada selbst.

0
_mäuschen
_mäuschen03.03.1015:47

                                                                 

0
Naquaada03.03.1015:54
Nu prügelt euch nicht um Begriffe. Quicklook erstellt ja schließlich eine Vorschau der Datei, da hat dirac schon recht. Quicklook ist auch weniger ein eigenes Programm, sondern eine Systemfunktion von OS X. Das Programm (die Applikation) 'Vorschau' ist der Bildbetrachter von OS X, also hat macdevil auch recht.

Auch im Englischen könnte man sich um die Wörter prügeln, da heißt der Bildbetrachter 'Preview'. Aber auch da würde Quicklook eine 'Preview' im Icon erstellen Also mixen wir das jetzt und sagen 'Preview' für die Quicklook-Vorschau und 'Vorschau' ist der Bildbetrachter. Also los, Meckerei einstellen und zurück zum Topic.

Ich habe mal ein wenig nachgeschaut, Quicklook legt die Dateien übrigens im Speicher ab, und nicht in einer Cachedatei auf der Festplatte. Das kann man daran sehen daß nachdem Quicklook einmal Previews für die Icons erstellt hat (das dauert etwas), man das Fenster schließt und wieder öffnet sind die Icons sofort da und müssen nicht neu generiert werden. Außerdem steigt der Speicherverbrauch des Quicklook Servers, das kann man beobachten wenn man die Aktivitätsanzeige offen hat und Quicklook-Previews erstellen läßt.

Ein entsprechendes Programm müßte jetzt z.B. ein Drag and Drop-Feld haben daß über Quicklook ein entsprechendes Icon generiert und in die Datei als benutzerdefiniertes Icon einfügt, so wie man das ja auch über das Informations-Fenster machen kann. Da Quicklook ja eine Systemfunktion ist (die man auch in anderen Programmen nutzen kann) und nicht vom Finder abhängig ist müßte das eigentlich machbar sein.

Also wenn es sowas bisher noch nicht gibt, vielleicht setzt sich ja mal jemand ran, ich denke so ein Programm könnten auch andere gebrauchen. Wichtig ist auf jeden Fall eine Batchverarbeitung. Sinnvoll wäre auch eine Auswahl der generierten Icongrößen, denn der Finder kann im Icon-Modus eh nur maximal 128x128 Pixel anzeigen. Größere Icons benötigen auch mehr Speicherplatz, und der ist bei älteren Systemen recht knapp, ein PPC-Mac mit IDE-2,5"-HD (iBook, Powerbook, Mac Mini) kann maximal nur eine 320GB-Platte verwenden, größere gibt es nicht. Als Systemversion muß Leopard reichen damit es noch auf PowerPC-Systemen geht.
0
Naquaada03.03.1016:23
@ _mäuschen:

Hey, das ist genau das Tool was ich suche. Dfür müßte man jetzt mal ein GUI schreiben, die Kommandozeile wird ja endlos lang. Wie kann man ein Script schreiben daß für alle Dateien eines Verzeichnisses Bilder erstellt? In AmigaDOS könnte ich das selbst, in UNIX leider noch nicht Oder geht das sogar mit AppleScript?

Merkwürdigerweise funktioniert es nicht mit den Dateitypen die ich hauptsächlich benötige, obwohl ich eine Vorschau bekomme.
0
_mäuschen
_mäuschen03.03.1016:35

Icon Info-Fenster

Beide zusammen legen und ein paar wenige Zeilen edieren.

Das Ganze als droplet (oder Automator) batch nutzen.

0
Naquaada03.03.1016:55
Nein, man kann eine Bilddatei nicht in das Iconsymbol im Informationsfenster kopieren. Das geht zwar, aber dann kann man die Datei am Icon nicht mehr anklicken, nur am Namen. Mit Automator & Co. habe ich bisher noch keine Erfahrungen gemacht.
0
promac03.03.1019:15
Naquaada
Nein, man kann eine Bilddatei nicht in das Iconsymbol im Informationsfenster kopieren. Das geht zwar, aber dann kann man die Datei am Icon nicht mehr anklicken, nur am Namen. Mit Automator & Co. habe ich bisher noch keine Erfahrungen gemacht.

Das geht mit ner .icns Datei, habe das Problem früher auch gehabt. Glaube nur wenn diese hinterlegt ist kann sowohl auf das Icon als auch auf den Text geklickt werden.

Mit dem mache ich das immer und das Ergebnis is perfekt:
Einfach per D&D aufs App ziehen und schon ist das .icns File in ner Sekunde auf dem Desk.
Es geht auch "Stapelverarbeitung". Einfach 10 Bilder markieren und gleichzeitig draufziehen ....

0
Naquaada03.03.1022:44
Ein sehr interessantes Kommando zur Grafikbearbeitung per Kommando ist 'sips', ist in OS X enthalten. Mit der Option -i kann man Bilddateien ein normales Icon drüberlegen. Das funktioniert wohl auch bei einigen anderen Dateitypen, z.B. PDF, aber da ist der weiße Anteil nachher transparent Die Quicklook funktion wird nicht unterstützt, der Befehl existiert wohl bereits seit 10.3.
0
Naquaada03.03.1023:36
Hier gibt's auch einige schöne Terminal-Tricks:

http://osxdaily.com/category/command-line/page/3/

So kann man zum Beispiel in Quicklook Dateien in Ordnern anzeigen lassen:

http://osxdaily.com/2009/10/04/enable-hidden-quick-look-feature-for-folder-content-previews/
0
_mäuschen
_mäuschen04.03.1000:04

try this


property qlpreviewPath : missing value -- leave this alone, you will be prompted to locate it if needed

-- variables, Note: all variables need to be strings
set imageType to "jpg" --> jpg, png, or tif
set JPEGimageQuality to "90" --> only applicable when the "imageType" is jpg. Defines the amount of compression used. Must be a value between 0 and 100, 0-max compression and 100-no compression.
set maxWidth to "512" --> the maxWidth in pixels of the preview image
set maxHeight to "512" --> the maxHeight in pixels of the preview image
set asIcon to "yes" --> do you want a pretty icon format?
set preferFileIcon to "no" -- when yes the file icon is returned even if the preview image exists
set generatePreviewOnly to "yes" -- a generic icon is returned if the preview image can't be found instead of the normal file icon

set inPaths to choose file with prompt "Choose the file you want the image of:" with multiple selections allowed without invisibles
repeat with inPath in inPaths
    set inPathName to item 1 of (getName_andExtension(inPath))
    tell application "Finder" to set inPathContainerFolder to container of inPath
    set outPath to (((path to "cusr") as string) & "Library:tmp:" & inPathName & "." & imageType)    
    -- get the path to qlpreview if needed
    try
        alias qlpreviewPath
    on error
        set qlpreviewPath to (choose file with prompt "Please select the unix exe qlpreview..." without invisibles) as text
    end try    
    -- setup the shell command
    set cmd to quoted form of POSIX path of qlpreviewPath & space & "-imageType" & space & imageType & space & "-JPEGimageQuality" & space & JPEGimageQuality & space & "-maxWidth" & space & maxWidth & space & "-maxHeight" & space & maxHeight & space & "-asIcon" & space & asIcon & space & "-inPath" & space & quoted form of POSIX path of inPath & space & "-outPath" & space & (quoted form of POSIX path of outPath as string) & space & "-preferFileIcon" & space & preferFileIcon & space & "-generatePreviewOnly" & space & generatePreviewOnly
    -- run it!
    try
        try
            tell application "Finder" to move outPath as string to trash
        end try
        do shell script cmd
    on error theError number errorNumber
        tell me
            activate
            display dialog "There was an error:" & return & return & theError & return & return & "Error Number: " & errorNumber as text buttons {"OK"} default button 1 with icon stop
        end tell
    end try

    tell application "Preview"
        activate
        open (outPath as alias)
    end tell
    
    tell application "System Events"
        tell application process "Preview"
            tell window 1
                keystroke "a" using command down
                delay 1
                keystroke "c" using command down
                delay 1
                keystroke "w" using command down
                delay 1
            end tell
        end tell
    end tell
    
    tell application "Finder"
        activate
        set infoWindow to open information window of (inPath as alias)
        set infoWindowName to name of infoWindow
    end tell
    
    tell application "System Events"
        tell application process "Finder"
            tell window infoWindowName
                keystroke tab
                delay 1
                keystroke "v" using command down
                delay 1
            end tell
        end tell
    end tell
    
    tell application "Finder"
        close infoWindow
    end tell
end repeat
(*=========== SUBROUTINES ============*)
on getName_andExtension(f)
    set f to f as Unicode text
    set {name:Nm, name extension:Ex} to info for file f
    if Ex is missing value then set Ex to ""
    if Ex is not "" then
        set Nm to text 1 thru ((count Nm) - (count Ex) - 1) of Nm
        set Ex to "." & Ex
    end if
    return {Nm, Ex}
end getName_andExtension

0
Naquaada04.03.1013:54
Jau, das war schon sehr gut. Ich habe noch ein paar Änderunegn durchgeführt:

set JPEGimageQuality to "90" --> only applicable when the "imageType" is jpg. Defines the amount of compression used. Must be a value 

Die Option 'JPEGimageQuality' habe ich als Wert und im Kommando herausgenommen, sonst speichert er das Bild immer als jpg, unabhängig von der Option 'imageType'

set outPath to (((path to "cusr") as string) & "Library:tmp:" & inPathName & "." & imageType) 

Ein Verzeichnis 'Library/tmp' gibt es bei mir im Homeverzeichnis nicht, ich habe 'Library/Services' genommen, der war leer.

try
alias qlpreviewPath
on error
set qlpreviewPath to (choose file with prompt "Please select the unix exe qlpreview..." without invisibles) as text
end try 

Anstelle von 'alias qlPreviewPath' habe ich '/usr/bin/qlpreview' eingetragen, dort liegt der Befehl bei mir.

try
tell application "Finder" to move outPath as string to trash
end try

Mir war nicht ganz klar weshalb die Datei schon so früh gelöscht wurde und trotzdem noch vorhanden war, also habe ich den Befehl hier weggelassen und ans Ende des Scripts gestellt.

tell application process "Preview"
tell window 1
keystroke "a" using command down
[b]delay 1[/b]
...
end tell

Den festen Verzögerungswert habe ich noch eine Variable 'delayTime' erstezt, mit dem man die Verzögerungszeit einstellen kann. Auf meinem System (Dual-Core 2.95 GHz) ist keine Verzögerung nötig.

Ansonsten funktioniert das Script aber sehr gut. Tips: Man sollte im Dateinfofenster sämtliche Optionen (Name & Suffix, Öffnen mit etc...) zuklappen und die Option 'Aufspringende Ordner und Fenster' in den Findereinstellungen deaktivieren. Auch das Fenster 'Darstellungsoptionen' sollte geschlossen sein. Wenn man im Dateiauswahlfenster z.B. nach Dateiendungen suchen läßt kann man so viele Dateien schnell anpassen. Prima Arbeit, Mäuschen

Hier ist das abgeänderte Script:

property qlpreviewPath : missing value -- leave this alone, you will be prompted to locate it if needed

-- variables, Note: all variables need to be strings
set imageType to "tif" --> jpg, png, or tif -- info: jpg has no transparency
set maxWidth to "128" --> the maxWidth in pixels of the preview image
set maxHeight to "128" --> the maxHeight in pixels of the preview image
set asIcon to "yes" --> do you want a pretty icon format?
set preferFileIcon to "no" -- when yes the file icon is returned even if the preview image exists
set generatePreviewOnly to "yes" -- a generic icon is returned if the preview image can't be found instead of the normal file icon
set delayTime to "0.0" -- set delay time, depending on your computer's speed

set inPaths to choose file with prompt "Choose the file you want the image of:" with multiple selections allowed without invisibles
repeat with inPath in inPaths
    set inPathName to item 1 of (getName_andExtension(inPath))
    tell application "Finder" to set inPathContainerFolder to container of inPath
    set outPath to (((path to "cusr") as string) & "Library:Services:" & inPathName & "." & imageType)
    -- get the path to qlpreview if needed
    try
        set qlpreviewPath to "/usr/bin/qlpreview"
    on error
        set qlpreviewPath to (choose file with prompt "Please select the unix exe qlpreview..." without invisibles) as text
    end try
    -- setup the shell command
    set cmd to quoted form of POSIX path of qlpreviewPath & space & "-imageType" & space & imageType & space & "-maxWidth" & space & maxWidth & space & "-maxHeight" & space & maxHeight & space & "-asIcon" & space & asIcon & space & "-preferFileIcon" & space & preferFileIcon & space & "-generatePreviewOnly" & space & generatePreviewOnly & space & "-inPath" & space & quoted form of POSIX path of inPath & space & "-outPath" & space & (quoted form of POSIX path of outPath as string)
    -- run it!
    try
        do shell script cmd
    on error theError number errorNumber
        tell me
            activate
            display dialog "There was an error:" & return & return & theError & return & return & "Error Number: " & errorNumber as text buttons {"OK"} default button 1 with icon stop
        end tell
    end try
    
    tell application "Preview"
        activate
        open (outPath as alias)
    end tell
    
    tell application "System Events"
        tell application process "Preview"
            tell window 1
                keystroke "a" using command down
                delayTime
                keystroke "c" using command down
                delayTime
                keystroke "w" using command down
                delayTime
            end tell
        end tell
    end tell
    
    tell application "Finder"
        activate
        set infoWindow to open information window of (inPath as alias)
        set infoWindowName to name of infoWindow
    end tell
    
    tell application "System Events"
        tell application process "Finder"
            tell window infoWindowName
                keystroke tab
                delayTime
                keystroke "v" using command down
                delayTime
            end tell
        end tell
    end tell
    
    tell application "Finder"
        close infoWindow
        move outPath as string to trash
    end tell
end repeat
(*=========== SUBROUTINES ============*)
on getName_andExtension(f)
    set f to f as Unicode text
    set {name:Nm, name extension:Ex} to info for file f
    if Ex is missing value then set Ex to ""
    if Ex is not "" then
        set Nm to text 1 thru ((count Nm) - (count Ex) - 1) of Nm
        set Ex to "." & Ex
    end if
    return {Nm, Ex}
end getName_andExtension

Evtl. zu ändernde Einstellungen:

- imageType - ich benutze tif, png geht aber auch. JPEG hat keine Transparenz und sollte nicht verwendet werden.
- maxWidth, maxHeight - mir reichen 128x128, andere Größen für X und Y sind 16,32,48,128,256,512
- delayTime - bei mir ist keine Vezögerung nötig (0.0) auf anderen Systemen vielleicht.
- qlpreviewPath - ist bei liegt qlpreview in '/usr/bin/qlpreview', das muß aber nicht so sein.
0
sierkb04.03.1014:37
Naquaada
Ein Verzeichnis 'Library/tmp' gibt es bei mir im Homeverzeichnis nicht, ich habe 'Library/Services' genommen, der war leer.

~/Library/Services ist für Services (Dienste), die dann evtl. auch per Kontext-Menü vom System bereitgestellt werden.

Warum nimmst Du nicht das systemweite /tmp oder viel besser $TMPDIR (echo $TMPDIR) bzw. $DARWIN_USER_TEMP_DIR (echo `getconf DARWIN_USER_TEMP_DIR`), also das benutzerspezifische temporäre Verzeichnis, das Apple unter /var/folders/Zufallsstring/Zufallsstring/-Tmp-/ vorgesehen hat?
0
palmosa
palmosa04.03.1014:38
Ich habe zu Tiger-Zeiten immer CocoThumbX benutzt. Geht auch unter Leopard, wie es mit dem Snow Leo aussieht weiß ich leider nicht. Es macht allerdings auch nur Thumbnail-Icons von Bildern.
0
_mäuschen
_mäuschen04.03.1015:04

So abändern


set generatePreviewOnly to "yes" -- a generic icon is returned if the preview image can't be found instead of the normal file icon

set qlpreviewPath to "/usr/bin/qlpreview"
set temp to ((path to "temp") as string)
set delayTime to "0.0" -- set delay time, depending on your computer's speed

set inPaths to choose file with prompt "Choose the file you want the image of:" with multiple selections allowed without invisibles
repeat with inPath in inPaths
    set inPathName to item 1 of (getName_andExtension(inPath))
    tell application "Finder"
        set inPathContainerFolder to container of inPath
        set outPath to temp & inPathName & "." & imageType
    end tell
    
    -- setup the shell command

Das (oberste) property qlpreviewPath… löschen

Alle delayTime im Programm mit delay delayTime ersetzen.

Good Luck

0
Naquaada04.03.1017:27
Alle delayTime im Programm mit delay delayTime ersetzen.

Hups, ist mir gar nicht aufgefallen Ich habe nach 'delay 1' suchen lassen und mit 'delayTime' ersetzt, anstelle mit 'delay delayTime'... Auch auf meinem iBook reicht 0.0, das Ding ist ja nicht zu schnell. Jetzt hat er mit 611 Dateien allerdings einige Zeit zu tun Wie wäre es mit einem Abbruch-Button?

Man könnte vielleicht noch folgendes machen: Wenn man das Skript später als Skipt-Bundle oder Programm-Bundle speichert, könnte man qlpreview dort in den 'Resources'-Ordner packen. Die temporäre Datei könnte dann auch dort erstellt werden. Außerdem könte man dort noch eine .plist-Datei oder so generieren, die die Werte für die qlPreview-Optionen enthält. Dann kann man die Werte schneller editieren, es reicht der TextEdit und man muß das Skript nicht neu kompilieren. Wer es ganz edel will könnte dafür ja noch ein kleines Prefs-Fenster erstellen, ich denke das sollte mit AppleScript ja auch möcglich sein.
0
_mäuschen
_mäuschen04.03.1018:27

Wie wäre es mit einem Abbruch-Button?

Roter Stopp Button oder

. (punkt)

0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.