Ich muss ein Bild auf den Server hochladen, der ziemlich groß ist, aber ich möchte das Seitenverhältnis beibehalten, aber komprimiere die Größe der Datei, weil ich mehrere Dateien hochlade.Wie komprimiere ich das Bild, ändere es aber nicht? Mit Xamarin IOS?
Antwort
Wenn Sie das Bild nicht in der Größe ändern möchten, wird es beim Senden als JPEG und PNG kleiner als nur das Senden der Bitmap-Daten. Sie können NSData
Darstellung des Bildes in PNG oder JPEG erhalten. Es gibt einige Vor-und Nachteile für jedes Format, aber JPEG ermöglicht Qualität für mehr Kompression zu opfern.
* Angenommen, Sie haben eine UIImage
mit dem Namen image
.
using(NSData pngImage = image.AsPNG()){
byte[] imageBytes = pngImage.ToArray();
// upload your image data, write to a file, etc.
}
// AsJPEG compression argument can be 0 to 1
// 0 is max compression (lowest quality), 1 is best quality
using(NSData jpgImage = image.AsJPEG(0.0f)){
byte[] imageBytes = jpgImage.ToArray();
// upload your image data, write to a file, etc.
}
Sie können auch AsJPEG
in einer Schleife mit den Werten der Kompression die Verringerung der Bildgröße unterhalb einer bestimmten Schwelle zu versuchen und zu erhalten. Das könnte ein wenig langsam sein, also müssen Sie die Vorteile für Ihre spezifische Verwendung gewichten.
danke ..... arbeitete für mich :) –
@VibhaRKedilaya Froh, dass ich helfen könnte. Glückliche Entwicklung. – dylansturg
Haben Sie eine Idee, das gleiche in Xamarin Android zu implementieren? –
- 1. Wie ändere ich das Bild eines JButton?
- 2. Xamarin Xam.Plugins.Forms.Svg Ändere SvgPath, um das Bild erneut zu rendern
- 3. Wie ändere ich das Bild einer PictureBox?
- 4. Ich kenne das große Bild aber kann es nicht setzen
- 5. Wie komprimiere ich ein PNG-Bild mit Hilfe von Java
- 6. Wie komprimiere ich E-Mail-Anhang Bild mit php?
- 7. Wie ändere ich das Farbsymbol in TabLayout in Xamarin Android?
- 8. Wie ändere ich das Hintergrundbild der Tab-Leiste in Ios?
- 9. Sikuli erkennt das Bild nicht, aber früher erkannte es es
- 10. Xamarin Forms Bild zeigt nicht
- 11. Wie ändere ich das Bild, wenn die Schaltfläche deaktiviert ist?
- 12. Wie komprimiere ich einen Puffer mit zlib?
- 13. Wie komprimiere ich JSON mit PHP?
- 14. Wie ändere ich das Seitenverhältnis mit gstreamer?
- 15. IOS zeichnen ein einfaches Bild unscharf mit Xamarin C#
- 16. Ich mache einen Bild-Slider, aber nur das erste Bild zeigt es zeigt nicht den Rest
- 17. Wie ändere ich das Attribut mit jquery?
- 18. Datenbank nicht zwischen Builds mit Xamarin IOS
- 19. Xamarin: Wie man Bild von iOS-Bibliotheksprojekt lädt
- 20. Wie komprimiere ich Bild und speichern Sie in bestimmten Ordner mit OpenCV Java
- 21. Wie komprimiere ich ein Busnetz?
- 22. Wie ändere ich das Datumsformat?
- 23. Wie ändere ich das Profilbild von Facebook und ändere es mit JavaScript SDK zurück
- 24. Wie lade ich ein Bild hoch, ändere es und wie das skalierte Bild im Codezeichen angezeigt wird?
- 25. Xamarin iOS-Fehler: Kann nicht
- 26. Wie ändere ich den Formulartext mit Jquery, aber behalte es, wenn es vom Benutzer gefüllt wird?
- 27. Xamarin XAML Idiom mit Bild
- 28. Wie komprimiere ich JPEG Bilder mit dem Webpack "Tinypng Way"?
- 29. Xamarin Debuggen nicht richtig
- 30. Wie komprimiere ich Bilder mit Picasso Library für Android?
In der Frage, die Sie sagen, behalten Sie das Seitenverhältnis, aber im Titel sagen Sie nicht die Größe zu ändern. Sind Sie bereit, die Größe des Bildes zu ändern, um eine kleinere Breite und Höhe zu erhalten und gleichzeitig das Seitenverhältnis beizubehalten? Sie können eine Komprimierung erhalten, indem Sie eine JPG- oder PNG-Darstellung mit 'UIImage.AsJPEG()' oder 'UIImage.AsPNG()' ohne Größenänderung senden. Die Größenänderung auf ein kleineres Bild kann noch mehr Speicherplatz sparen. – dylansturg