Tag Archive for 'rmagick'

Rails: JPG Bilder kaputt beim Upload (grauer Balken)

Völlig zufällig wurden Bilder beim Upload in Rails mit einem grauen Balken versehen.

Mal viel grau, mal wenig grau. Mann muss genau hinschauen bei diesem Beispiel, ganz unten rechts:

dsc01326jzyuu

Zuerst dachte ich, es sei RMagick, dass versucht das Bild zu verkleinern (resize) und irgendwann merkte ich, dass der Upload an sich schon fehlerhaft war. Dann dachte ich es sei der YUI Uploader, habe aber zum Glück das Problem gefunden.

Zum speichern der Datei habe ich das hier verwendet:

File.open(target, "wb").write(params[:upload].read)

Das darf man nicht! :)
Man muss es so machen:

file = File.new(target, "wb")
file.write params[:upload].read
file.close

Mit Mac und Imagemagick: Tiff Bild reparieren

Ich habe eben eine Tiff-Datei erhalten und kein Programm auf meinem Mac konnte sie öffnen. Ich habe zwar die Vorschau gesehen aber sie ließ sich einfach nicht öffnen.

Ein Blick in die Datei mit TextMate zeigte nur, dass die Datei mit Photoshop für Mac gespeichert wurde und schien auch sonst korrekt zu sein.

Schließlich habe ich erfahren, dass man ImageMagick zum konvertieren natürlich auch lokal ausführen kann.

Ein kurzer Befehl ließ auf Erfolg hoffen:

convert kaputt.tiff test.tiff

Und siehe da – ImageMagick hat allen Fehlermeldungen anderer Programme zum Trotz das Ding problemlos in eine “korrekte” TIFF-Datei umgewandelt.

UPDATE:
Thomas hat im Kommentar erklärt, worin das TIFF-Problem besteht. Vielen Dank!

derJan hat im Kommentar auf seinen Beitrag über sips hingewiesen und hier ist das Ergebnis mit meinem Tiff-Reparatur-Experiment:

Versuch von TIFF in TIFF:

$ sips -s format tiff kaputt.tif –out test.tif
/Users/future/Desktop/kaputt.tif
Error: Cannot extract image from file.
/Users/future/Desktop/test.tif

Von TIFF in JPG:

$ sips -s format jpg kaputt.tif –out test.jpg
/Users/future/Desktop/kaputt.tif
Error: Cannot extract image from file.
/Users/future/Desktop/test.jpg

Sip (der integrierte Shell-Image-Editor von Mac OS X) hat es also nicht geschafft.

HowTo: ImageMagick + RMagick via Macports für Tiger

Nach dem ich nun auch RMagick für ein aktuelles Projekt brauchte, dachte ich ich nehm einfach die Anleitung von hier (ok steht ja schon im Posttitel ist für Leopard und nicht für Tiger) Das hat natürlich nicht funktioniert und mich min. 2 h gekostet. Deshalb hier die Anleitung für Mac OS X Tiger:

Dauert ewig, für ImageMagick wird erst mal das ganze XFree86 Zeug und noch sonstige Sachen runter geladen. RMagick muss dann noch die ganzen Fonts einbinden, das dauert auch…


sudo port install ImageMagick
sudo port install libwmf
sudo port install lcms
sudo port install ghostscript
sudo gem install rmagick -y

Das Problem war einfach, dass die 3 anderen Port-Installationen gefehlt haben. Ich glaub es lag eigentlich nur an der fehlenden ghostscript Installation.

Dank geht hier noch hin, da gab es die Lösung.

Ruby on Rails with Leopard (localhost, sites, mysql, rmagick)

Ich habe soeben 2 Minuten gebraucht, um intuitiv Rails in Leopard zum Laufen zu kriegen…

Das möchte ich euch natürlich nicht vorenthalten.

Du wechselst in das Verzeichnis deines Projektes.

bild-5.png

Und gibst den Befehl ruby script/server ein.

bild-6.png

Ergebnis:

bild-7.png

Fertig!

“Mongrel available at 0.0.0.0:3000″ verrät dir, wo du deine Webseite findest. Da “0.0.0.0″ das gleiche ist wie “localhost”, findest du sie z. B. hier:

bild-8.png

Mist war das einfach :/

MySQL

HIER könnt ihr mysql runterladen. Kleiner Tip: Intel-Rechner brauchen “x86″. Mein PowerBook G4 hat Mac OS X 10.4 (PowerPC, 32-bit) gebraucht.

Package installieren, fertig. Vorsicht, momentan funktioniert das prefpane von mysql in den Systemeinstellungen für Leopard nicht. Das kann man beheben, indem man dem Verzeichnis /usr/local/mysql/data UND UNTERVERZEICHNISSEN Lese- und Schreibrechte für Administratoren (oder halt direkt dir selbst) hinzufügt. Wie geht das? Einen invisibility toggler runterladen und alle Dateien im Finder sichtbar machen. Auf das Verzeichnis ein “Apfel + i” machen und ganz unten die Reche entsprechend hinzufügen.

Nachdem ich jetzt zwei Tage versucht habe einen “sudo gem install mysql” durchzuführen, kam ich endlich auf die Lösung. (Danke an rubyonrails.org die schnell genug waren. Hier auch nochmal ausführlich.

Kurzum, folgenden langen Befehl im Terminal eingeben:

sudo env ARCHFLAGS="-arch ppc" gem install mysql — –with-mysql-config=/usr/local/mysql/bin/mysql_config

Dort wo “ppc” steht muss nicht ppc sondern i386 heißen, wenn ihr einen Intel-Prozessor habt (MacBook usw.)

mysqlok.png

Wenn ihr nur sudo gem install mysql oder sudo gem install mysql — –with-mysql-dir=/usr/local/mysql macht, dann kommt ein “can’t find ruby header” Fehler. Danach habe ich gegoogled ohne Ende und nichts gefunden.

Übrigens kann nun ein sudo gem update rails nicht schaden, das updated ein paar gem versionen.

Wie man mit MacPort RMagick installiert, ist hier schön beschrieben.

Fertig!