2009-06-11 14 views
-2

Ich möchte eine Anwendung entwickeln, die Bild in Textformat (einige Ascii-Format) und Text in Bildformat konvertiert. Ich will das, weil ich die Größe der Bilddatei verringern muss. Irgendein Vorschlag plz. Vielen Dank im Voraus, Ibrahim.Wie Bild in Text und Text in Bild in wpf + c konvertieren #

+1

Warum komprimieren Sie die Bilder nicht und dekomprimieren sie dann bei Bedarf? – RCIX

+0

Wenn Sie Konvertieren und Bild in Textformat sagen, sprechen Sie optische Zeichenerkennung (OCR)? –

Antwort

1

Wenn Sie sagen, dass Sie die Größe des Bildes reduzieren möchten, meinen Sie, dass Sie die Größe der Bilddatei reduzieren oder die Abmessungen auf dem Display reduzieren möchten?

Wenn Sie die Dateigröße reduzieren möchten, hilft die Konvertierung in eine ASCII-Datei nicht. Stattdessen müssen Sie es komprimieren. (Sagen Sie, indem Sie Bitmap in JPEG umwandeln).

bearbeiten

auf Ihrem Kommentar Basierend. Ich würde vorschlagen, dass Sie sich die Klassen JpegBitmapDecoder und JpegBitmapEncoder ansehen, um die JPEG-Datei in eine Bitmap zu decodieren und dann die Bitmap mit verschiedenen Werten von Anfang an zu codieren.

Microsoft info

Auch hier, um weitere Informationen einschließlich, wie die Standard-Kompression von 75% More info

+0

Ich möchte die Dateigröße reduzieren. Und ich benutze nur jpeg Bilder. Immer noch möchte ich die Dateigröße reduzieren – ibrahimkhan

+0

Bearbeitete meine Antwort auf Zeiger auf JpegBitmapEncoder und Decoder. – ChrisBD

+0

Wenn Sie bereits JPEGs verwenden und Ihre Dateigröße noch weiter reduzieren müssen, haben Sie wirklich nur 3 Optionen. 1. Verringern Sie die Qualität des JPEG (sieht schlechter aus, nimmt aber weniger Platz in Anspruch) 2. Reduzieren Sie die Auflösung (wieder sieht es schlechter aus, aber es gibt weniger Grafikfehler) 3.Verwenden Sie prozedural generierte Texturen (kann wirklich gut aussehen und fast keinen Platz einnehmen, aber Bilder müssen speziell dafür erstellt werden, und Sie müssen sich für eine professionelle Lösung ausrüsten, oder monatelange solide Arbeit für die Entwicklung Ihrer eigenen, nicht wirklich eine Option für die meisten Leute) –

2

Eigentlich außer Kraft zu setzen, wenn Sie ein Bild in Text umwandeln, erhöhen Sie die Größe, die es nicht verringern ! Der Grund dafür ist einfach: Wenn Sie ein Bild im Binärformat speichern, steht Ihnen das volle Wertespektrum eines Bytes zur Verfügung, in dem Sie Ihr Bild speichern können. Wenn Sie ein Textformat verwenden, ist das Wertspektrum auf 26 Großbuchstaben beschränkt , 26 Kleinbuchstaben, 10 Ziffern und eine Reihe von Sonderzeichen, aber es wird weit weniger als die 256 Werte, die Sie im Binärmodus haben.

Konvertieren von Binär in Text und wieder zurück wird oft mit UUEncoding. Es ist ein Kodierungssystem, das es immer noch schafft, einen vernünftigen kleinen Text-Stream zu erzeugen, und es ist ein guter Standard, der bereits an vielen Orten verwendet wird, mit vielen Bibliotheken für Dutzende von Sprachen. UUEncoding verwendet 64 verschiedene Zeichen, daher werden alle 3 Bytes der Binärdaten in 4 Zeichen übersetzt. (Erhöhung um ein Drittel.)

Verwenden Sie ein anderes Bildformat wie JPG oder PNG, um Ihre Binärbilder kleiner zu machen. JPG wird für Fotos empfohlen, bei denen ein Qualitätsverlust kein großes Problem darstellt. PNG wird häufig verwendet, wenn die Bildqualität hoch sein muss oder wenn das Bild transparente Teile enthält. Wenn Ihr Originalbild ein BMP ist, dann wird es in PNG umgewandelt und dann wird die PNG-Datei mit UUEncoding erheblich verkleinert. (Aber das liegt an der PNG-Komprimierung, nicht an der Kodierung.)

0

Wenn Sie Buchstaben in Ihrem Bild erkennen und in Text konvertieren möchten, wie wäre es mit einem der OCR libraries?