Original von 2fast4you
Schleife ist nicht verkehrt, Bild aufnehmen, kleinerrechnen, Größe überprüfen.
Sollte die Datei nun größer als 1 MB sein wird sie verworfen und von neuem angefangen, diesmal wird das Bild aber noch stärker komprimiert, das Stufenweise so oft bis es passt.
Funktioniert aber nur mit komprimieren, verkleinern kann man nicht mit vorgegebenen größen weil dann ja die Seitenverhältnisse nicht mehr passen.
Wiso? Rechne dir das Seitenverhältnis doch einfach aus:
Code:
Länge=800; //von mir fiktionale vorgegebene Werte, die verkleinert werden sollen
Höhe=600;
Verhältnis=Länge/Höhe;
NeueLänge=500;
NeueHöhe=NeueLänge/Verhältnis;
NeuesBild=Konvertierungsfunktion(OriginalBild, NeueLänge, NeueHöhe)
if size(NeuesBild)>1048576 do all tha stuff again
Die genauen Befehle lass ich dich raussuchen