Показать сообщение отдельно
Старый 30.03.2011, 22:42
motoroller вне форума Посмотреть профиль Отправить личное сообщение для motoroller Найти все сообщения от motoroller
  № 1  
Ответить с цитированием
motoroller

Регистрация: Jan 2006
Сообщений: 179
По умолчанию Как улучшить качество после ресайза?

Собственно есть работающий модуль, но вот результаты не очень удовлетворяют, есть функция, которая ресайзит до нужных размеров
Код AS3:
// ресайз картинок
		private function resizeImg(btm:Bitmap, width:Number, height:Number):Bitmap {
			var matrix:Matrix = new Matrix();
			var myBitmap:Bitmap;
			var size:Number = 1;
 
			if (btm.width > width || btm.height > height) {
				size = Math.min(width / btm.width, height / btm.height);
				matrix.scale(size, size);
				var myBitmapData = new BitmapData(btm.width * size, btm.height * size, true);
				myBitmapData.draw(btm, matrix, null, null,null, true);
				myBitmap = new Bitmap(myBitmapData, PixelSnapping.NEVER, true);
			} else 
				myBitmap=btm;
			return myBitmap;
		}
После этого я все докодирую через alchemy
Код AS3:
jpegQuality= 100;
 
jpeglib.encodeAsync(encodeComplete, imgData, imgEncoded, imgBitmap.width, imgBitmap.height, jpegQuality);
Качестов не совсем ужасное но хотелось бы лучше, особенно когда картинка большая 800 на 600 видны все косяки

Причем заметил такую ситуацию:
Допустим у меня в настройках стоит ресайзить до 800 на 600
Так вот если я гружу файл 1200 на 700 большие искажения
а чем размеры приближены к 800 на 600, тем искажений меньше ...
Все-таки в чем косяк?


Последний раз редактировалось motoroller; 30.03.2011 в 22:58.