Adobe is being the bitch: zoomer
Adobe is being the bitch
Please support rtmpdump by making creative code with this number
Since wonderfl is in Japan, Adobe can stick their DMCA up theirs
@see http://ncannasse.fr/blog/rtmpe_and_dmca?lang=en
// Adobe is being the bitch
// Please support rtmpdump by making creative code with this number
// Since wonderfl is in Japan, Adobe can stick their DMCA up theirs
// @see http://ncannasse.fr/blog/rtmpe_and_dmca?lang=en
package {
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.filters.BlurFilter;
import flash.geom.ColorTransform;
import flash.geom.Matrix;
import flash.text.TextField;
public class AdobeTheBitch extends Sprite {
public var poem:Array = [
0x47, 0x65, 0x6E, 0x75, 0x69, 0x6E, 0x65, 0x20,
0x41, 0x64, 0x6F, 0x62, 0x65, 0x20, 0x46, 0x6C,
0x61, 0x73, 0x68, 0x20, 0x50, 0x6C, 0x61, 0x79,
0x65, 0x72, 0x20, 0x30, 0x30, 0x31, 0xF0, 0xEE,
0xC2, 0x4A, 0x80, 0x68, 0xBE, 0xE8, 0x2E, 0x00,
0xD0, 0xD1, 0x02, 0x9E, 0x7E, 0x57, 0x6E, 0xEC,
0x5D, 0x2D, 0x29, 0x80, 0x6F, 0xAB, 0x93, 0xB8,
0xE6, 0x36, 0xCF, 0xEB, 0x31, 0xAE
];
private var ba:BitmapData = new BitmapData (500, 500, true, 0);
private var bb:BitmapData = new BitmapData (500, 500, false, 0);
private var bc:BitmapData = new BitmapData (500, 500, false, 0);
public function AdobeTheBitch() {
Wonderfl.capture_delay (10);
this.graphics.beginFill (0xFFFFFF);
this.graphics.drawCircle (500/2, 500/2, 6);
ba.draw (this);
var bbb:Bitmap = new Bitmap (bb, "never", true);
bbb.x = -17.5; bbb.y = -17.5;
addChild (bbb);
addEventListener ("enterFrame", zoom);
zmat = new Matrix;
zmat.translate ( -500/2, -500/2);
zmat.scale (1.09, 1.09);
zmat.rotate (-0.1);
zmat.translate ( +500/2, +500/2);
var t:TextField = new TextField;
t.autoSize = "left";
for (var i:int = 0; i < poem.length; i++) {
var s:String = int(poem [i]).toString (16) + " ";
if (s.length < 3)
s = "0" + s;
t.appendText (s);
if (i % 8 == 7)
t.appendText ("\n");
}
t.htmlText = "<font face=\"fixedsys\">" +
t.text + "</font>";
addChild (t);
}
private var ptr:int = 0;
private var zmat:Matrix;
private var filter:BlurFilter = new BlurFilter (1.2, 1.2);
private var fader:ColorTransform = new ColorTransform (1.03, 1.03, 1.03, 1, -3, -3, -3);
private function zoom (e:*):void
{
for (var i:int = 0; i < 60; i++) {
var a:Number = 6 * i * Math.PI / 180;
var c:uint = 0xFF000000;
c += 0xFF000000 + poem [ptr]; ptr++; ptr %= poem.length;
c += 256 * poem [ptr]; ptr++; ptr %= poem.length;
c += 65536 * poem [ptr]; ptr++; ptr %= poem.length;
ba.setPixel32 (
int (500/2 + 6 * Math.sin (a)),
int (500/2 + 6 * Math.cos (a)),
c
);
}
bc.draw (bb, zmat); bb.draw (bc);
bb.colorTransform (bb.rect, fader);
bb.draw (ba);
bb.applyFilter (bb, bb.rect, bb.rect.topLeft, filter);
}
}
}