Bjorn,
Does the current method you're using appear to have any anti-aliasing at all?

In the past, resizing with Image using img.resize((height, width), 
Image.ANTIALIAS) (where img is mx.controls.Image) has worked - I'm sure there'd 
be a similar method for BitmapData.  Of course, if you're not specifying 
antialiasing and the method call doesn't assume it by default, then yeah, 
you're going to get horrible image quality on downsize as a typical algorithm 
will pick nearest-neighbor to the new target pixel.

--Tim

________________________________
From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On Behalf 
Of Bjorn Schultheiss
Sent: Thursday, 2 July 2009 2:34 PM
To: flexcoders@yahoogroups.com
Subject: [flexcoders] Bitmap downsampling




Hi,

I'm having a lot of trouble with down-sampling a bitmapData.

I tried the smoothing option first

public function produceResizedBitmapData(image:DisplayObject, 
transform:Matrix):BitmapData
{
var temp:BitmapData = new BitmapData(image.width, image.height, true, 
0x00FFFFFF);
temp.draw(image);

var clone:BitmapData = new BitmapData(image.width*transform.a, 
image.height*transform.d, true, 0x00FFFFFF);
clone.draw(temp, transform, null, null, null, true);

temp.dispose();
return clone;
}

except the quality was poor, once the image was of a certain size.
For example scaling a 2500px image down to 200px.

I've tried using clevrLib plus a pixelBender bilinear sampler but no go.
I've noticed it works in picnik so it must be possible.

Can anyone push me in the right direction.



Reply via email to