0
이미지의 픽셀을 480 X 480에서 30 X 30으로 줄여야합니다. 픽셀의 다운 샘플링이 필요하며 비트 맵 이미지에서 개별 픽셀을 제거 할 방법이 없습니다.다운 샘플 비트 맵 이미지 픽셀 actionscript 3?
나는 이미지 처리의 왜곡을 연구 중이기 때문에이 다운 샘플링이 필요합니다.
이 부분에 도움이 되시면 감사하겠습니다. 결과
이미지의 픽셀을 480 X 480에서 30 X 30으로 줄여야합니다. 픽셀의 다운 샘플링이 필요하며 비트 맵 이미지에서 개별 픽셀을 제거 할 방법이 없습니다.다운 샘플 비트 맵 이미지 픽셀 actionscript 3?
나는 이미지 처리의 왜곡을 연구 중이기 때문에이 다운 샘플링이 필요합니다.
이 부분에 도움이 되시면 감사하겠습니다. 결과
package
{
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Loader;
import flash.display.Sprite;
import flash.events.Event;
import flash.geom.Matrix;
import flash.net.URLRequest;
public class DownSampling extends Sprite
{
private var _loader : Loader;
public function DownSampling()
{
_loader = new Loader;
_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onImgLoaded);
// Get the bitmap
_loader.load(new URLRequest("https://appharbor.com/assets/images/stackoverflow-logo.png"));
}
private function onImgLoaded(e : Event) : void
{
var currentBitmapdata : BitmapData = Bitmap(_loader.content).bitmapData;
var i : uint = 9;
var downFactor : Number = 0.2;
// this will reduce size by 20%
var downMat : Matrix = new Matrix;
downMat.scale(1 - downFactor, 1 - downFactor);
while(--i)
{
// Create new bitmapdata but smaller
var smallerImg : BitmapData = new BitmapData(currentBitmapdata.width * (1-downFactor), currentBitmapdata.height * (1-downFactor), true, 0);
// Copy and apply scale
smallerImg.draw(currentBitmapdata, downMat);
// Add to stage and set alpha to 50%
addChild(new Bitmap(smallerImg)).alpha = .5;
// Apply the same transform next loop
currentBitmapdata = smallerImg;
}
}
}
}
:
는 30x30 다음 픽셀을 멀리 빼기 위해 노력 반대로 새의 BitmapData에 해당하는 픽셀을 복사하거나 설정하는 알고리즘을 설정의 새로운의 BitmapData을 만들기에 문제가 있습니다 처음부터? – shaunhusain
감사합니다. 나는 오직 하나의 솔루션에 집중했다. –