Ich muss bereits große JPEGs vergrößern, sie werden beim Drucken verwendet, also müssen sie wirklich große 300PPI-Dateien sein. Das resultierende Bild ist zu groß, um vollständig im Speicher zu bleiben. Was ich dachte, war so etwas wie das Originalbild in kleine Streifen zu zerlegen, jedes einzeln zu vergrößern und es in die Ausgabedatei (ein anderes JPEG) zu schreiben, wobei das fertige Bild niemals vollständig auf Menoru gehalten wird. Ich habe gelesen, über verlustfreie Operationen auf JPEGs scheint es der Weg zu gehen (erstellen Sie eine Datei mit dem Streifen und kopieren Sie die MCUS, Huffman-Tabellen und Quantizatuon Tabellen in die endgültige Datei), lesen Sie auch etwas über gekürzte Streams auf Java. Was ist ein guter Weg, dies zu tun?Vergrößern bereits große JPEGs mit weniger Speicher
Antwort
Sie sollten die JPEGs in Ruhe lassen und die Drucksoftware die Ausgabe auf das Gerät skalieren lassen.
Wenn Sie wirklich die Größe verdoppeln möchten, könnten Sie Subsampling verwenden. Verdoppeln Sie einfach die Y-Komponente in jeder Richtung und ändern Sie die Abtastung für Cb und Cr, während Sie die Daten alleine lassen.
Sie könnten auch tun, was Sie sagen, und in MCU-Streifen komprimieren.
Wie könnte ich die Streifen wieder komprimieren, ohne das ganze Bild im Speicher zu haben? –
Sie müssten etwas schreiben, das MCU-Zeilen nacheinander lesen, erweitern und komprimieren. Ich denke immer noch, dass es das Beste ist, wenn das Gerät die Bilder skaliert. Sie werden nicht in der Lage sein, so zu glätten. – user3344003
- 1. phpDocumentor Alternative verbrauchen weniger Speicher
- 2. Möglichkeiten, um Ihr Programm weniger Speicher verwenden
- 3. Speicher erschöpft: für große Dateien mit diff
- 4. Sehr große Zeichenfolge im Speicher
- 5. C++ Boost große Anzahl Speicher
- 6. Seite mit Codeception vergrößern?
- 7. OpenGL: Warum brauchen quadratische Texturen weniger Speicher?
- 8. vm_stat weniger Speicher zeigt als in Echt
- 9. ImageMagick konvertiert keine JPEGs
- 10. C# const Felder verbrauchen weniger Speicher?
- 11. Best Practice für die Entschlüsselung großer Dateien mit weniger Speicher
- 12. Warum belegt SetString weniger Speicher in Delphi (mit Unicode)?
- 13. Wie melde ich an, weniger Speicher zu verwenden?
- 14. MongoDb Replica-Server wird wegen weniger Speicher getötet?
- 15. Speicher requirments für große Python Liste
- 16. CGContextDrawPDFPage nimmt große Mengen an Speicher auf
- 17. Python LMDB große DBs (Speicher-Limit-Fehler)
- 18. Speicher Fehler mit openpyxl und große Daten übertrifft
- 19. MongoDB Schema Design - Viele kleine Dokumente oder weniger große Dokumente?
- 20. Kann ich den Windows-Schalter boot.ini/3GB mit weniger als 4 GB physischem Speicher verwenden?
- 21. SDCC und malloc() - Zuweisung viel weniger Speicher als verfügbar ist
- 22. Ressourcenangebot zeigt weniger Speicher als in Mesos hinzugefügt
- 23. Verwendet Freepascal wirklich * far * weniger Speicher als gcc
- 24. malloc (sizeof (s)) reserviert weniger Speicher als erwartet?
- 25. Was benötigt weniger Speicher: ein Javascript-Array oder Javascript-Objekt?
- 26. Warum benötigt die JVM weniger Speicher als -Xms?
- 27. Machen Sie ein BufferedImage verwenden weniger RAM?
- 28. Konvertieren von ASCII-Quelldateien in JPEGs
- 29. JQuery .addClass() mit weniger Mixins
- 30. Große Dateiupload mit Spark-Framework
Interessanter Hinweis: 2D-Bildskalierung ist genau, warum ich die 2D-Spielprogrammierung aufgegeben habe und auf 3D umgestiegen bin. Meine Bemühungen, Bilder zu skalieren, führten unweigerlich zu der gleichen Schlussfolgerung: Es kann nicht angemessen getan werden. – Krythic
Warum glauben Sie, dass Sie die Bilder besser skalieren können als ein guter Drucker? Sie erhöhen im Grunde nur die Dateigröße, ohne die Qualität zu erhöhen, da alle Daten, die Sie hinzufügen, nur vom Originalbild interpoliert (oder extrapoliert) werden. – haraldK