Divoom Aurabox + Timebox + TimeboxEvo [Update, kommunizieren funktioniert]

Begonnen von schwatter, 25 Dezember 2017, 23:37:43

Vorheriges Thema - Nächstes Thema

schwatter

Du warst schneller, habe eben nochmal mein Vorpost editiert :)

schwatter

So, ich habe diverse Gif's aus der DivoomApp probiert. Alle funktionieren jetzt nach dem Konvertieren korrekt.
Deshalb habe ich einen kleinen Guide im ersten Post ganz unten unter

Gif's aus der DivoomApp zu Einzelbildern konvertieren

hinzugefügt.

schwatter

Im ersten Post Convert&Resize im Terminal hinzugefügt. Schneller gehts nimma  :D

@mumpitzstuff
Im Bezug auf ImageMagick, wie findest du die perlExtension?

https://metacpan.org/pod/release/JCRISTY/PerlMagick-5.55/Magick.pm

mumpitzstuff

Wie meinst du das? Kann man mit Sicherheit verwenden wenn es funktioniert.

Möchtest du damit per Perl das Gif und png umwandeln?

schwatter

Als on-the-fly Konverter für dein script. Damit könnten wir dein Script dann mit Gif's füttern
anstatt einzelnen Bildern.

mumpitzstuff

Mit imager kann man anscheinend mit read_multi() alle Bilder eines GIFs einlesen und kann die dann in einer Schleife hochladen. Sieht im ersten Moment nicht so schwierig aus das zu integrieren.

schwatter

Klingt gut. Wenn mit imager auch ein Resize möglich ist, ansonsten werden die
Bilder blurred. Die Gifs von Divoom haben alle die Größe 384x384.

mumpitzstuff

Bei der tb evo Routine ist glaub ein resize drin. Kannst ja m aß l ein png in der Größe nehmen und gucken ob was brauchbares raus kommt.

schwatter

Ja, das es resized hatte ich schon entdeckt. Leider blurred es.
Im Anhang das orig BMP extracted. Hier sehe ich gerade, das
hat 240x240 Pixel. Sieht so aus, als wenn die Gif's unterschiedliche
Größen haben. Oder sie wurden mit der Zeit geändert. Und einmal
das blurred Ergebnis abfotografiert. 

mumpitzstuff

Sieht scheisse aus. Mich wundert jetzt nur, das imagemagick das resize so viel besser machen soll.

Wie auch immer, ich brauche halt irgendwas in Perl, mit dem ich ein resize machen kann und dann die Farbwerte aus dem Bild extrahieren kann. Ich würde jetzt ungern erst die Datei öffnen, dann resize machen, wieder speichern, wieder öffnen und dann in das timebox format konvertieren. Ich brauche halt was, wo ich das einmal laden kann, resize machen kann und dann direkt konvertieren kann.

mumpitzstuff

https://metacpan.org/release/GD

Vielleicht geht damit was. Kannst du mir mal bitte ein großes PNG zur Verfügung stellen und dann auch die Datei nach dem Resize mit ImageMagick. Dann guck ich mir das mal im Vergleich zu GD an. Vielleicht liefert das ja ähnliche Resultate.

schwatter

So,

im Rar befinden sich folgende Dateien,

- original Gif.
- extrahierte PNG's mit Irvanview in Originalgröße 240x240.
- extrahierte und verkleinerte PNG's mit ImageMagick direkt aus der GIF.

mumpitzstuff

#!/usr/bin/perl

use GD;

sub resize {
    my ($inputfile, $width, $height, $outputfile) = @_;
    GD::Image->trueColor(1);
    my $gdo = GD::Image->new($inputfile);

    {
        my $k_h = $height / $gdo->height;
        my $k_w = $width / $gdo->width;
        my $k   = ($k_h < $k_w ? $k_h : $k_w);
        $height = int($gdo->height * $k);
        $width  = int($gdo->width * $k);
    }

    my $image = GD::Image->new($width, $height);
    $image->alphaBlending(0);
    $image->saveAlpha(1);
    $image->copyResampled($gdo, 0, 0, 0, 0, $width, $height, $gdo->width, $gdo->height);

    open my $FH, '>', $outputfile;
    binmode $FH;
    print {$FH} $image->png;
    close $FH;
}

resize('helloween.png', 16, 16, 'test.png');


Probier das mal bitte aus. Sieht für mich noch besser aus als mit ImageMagick.

schwatter

Resize mit GD klappt wunderbar  :)

Cpan wollte nich, daher

sudo apt-get install libgd-graph-perl