Réduire la résolution d’un BitmapData

resolution
cliquez et maintenez la souris enfoncée Pour faire simple, cette classe étend Bitmap du coup l’utilisation est la même que celle d’un bitmap, il suffit simplement d’indiquer la taille du pixel.
  Évidemment cette classe ne peut servir qu’à baisser la résolution.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package com.grgrdvrt.graphics
{
 
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.geom.Matrix;
 
	public class PixelsBitmap extends Bitmap
	{
 
		private var _imgSource:BitmapData;
		private var _res:Number = 1;
		private var _matrix:Matrix = new Matrix();
 
		public function PixelsBitmap(image:BitmapData) { bitmapData = image; }
 
 
		private function _update():void
		{
			var tempBmp:BitmapData = new BitmapData(_imgSource.width/value, _imgSource.height/value, false, 0);
			_matrix.a = _matrix.d = 1 / value;
			tempBmp.draw(_imgSource, _matrix);
			_matrix.a = _matrix.d = value;
			bitmapData.fillRect(bitmapData.rect, 0xFF000000);
			bitmapData.draw(tempBmp, _matrix);
			tempBmp.dispose();
		}
 
		public function set res(value:Number):void
		{
			_res = Math.max(1, value);
			_update();
		}
 
		public function get res():Number{ return _res }
 
		override public function set bitmapData(image:BitmapData):void
		{
			_imgSource = image;
			super.bitmapData = _imgSource.clone();
			_update();
		}
	}
}

5 Responses to “Réduire la résolution d’un BitmapData”

  1. Seraf says:

    cool l’effet

  2. nicoptere says:

    c’est simple et efficace :D
    merci.

  3. luta_seb says:

    Super!
    Mais c est bizarre je ne trouve pas la doc pour la classe flash.display.Bitmap

  4. Skehl says:

    Yep,
    J’arrive pas à reproduire l’effet… Pourrais tu me donner plus d’explications ou un bout de source car ton effet produit m’interresse bcp pour réaliser un portfolio.
    Merci

Leave a Reply