亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? jpgencoder.as

?? 用攝像頭在線拍照片,上傳到服務器,也可以自己畫一個圖片上傳到服務器
?? AS
?? 第 1 頁 / 共 2 頁
字號:
?
package com.klstudio.images {
	import flash.geom.*;
	import flash.display.*;
	import flash.utils.*;
	
	public class JPGEncoder{
 
		// Static table initialization
	
		private var ZigZag:Array = [
			 0, 1, 5, 6,14,15,27,28,
			 2, 4, 7,13,16,26,29,42,
			 3, 8,12,17,25,30,41,43,
			 9,11,18,24,31,40,44,53,
			10,19,23,32,39,45,52,54,
			20,22,33,38,46,51,55,60,
			21,34,37,47,50,56,59,61,
			35,36,48,49,57,58,62,63
		];
	
		private var YTable:Array = new Array(64);
		private var UVTable:Array = new Array(64);
		private var fdtbl_Y:Array = new Array(64);
		private var fdtbl_UV:Array = new Array(64);
	
		private function initQuantTables(sf:int):void
		{
			var i:int;
			var t:Number;
			var YQT:Array = [
				16, 11, 10, 16, 24, 40, 51, 61,
				12, 12, 14, 19, 26, 58, 60, 55,
				14, 13, 16, 24, 40, 57, 69, 56,
				14, 17, 22, 29, 51, 87, 80, 62,
				18, 22, 37, 56, 68,109,103, 77,
				24, 35, 55, 64, 81,104,113, 92,
				49, 64, 78, 87,103,121,120,101,
				72, 92, 95, 98,112,100,103, 99
			];
			for (i = 0; i < 64; i++) {
				t = Math.floor((YQT[i]*sf+50)/100);
				if (t < 1) {
					t = 1;
				} else if (t > 255) {
					t = 255;
				}
				YTable[ZigZag[i]] = t;
			}
			var UVQT:Array = [
				17, 18, 24, 47, 99, 99, 99, 99,
				18, 21, 26, 66, 99, 99, 99, 99,
				24, 26, 56, 99, 99, 99, 99, 99,
				47, 66, 99, 99, 99, 99, 99, 99,
				99, 99, 99, 99, 99, 99, 99, 99,
				99, 99, 99, 99, 99, 99, 99, 99,
				99, 99, 99, 99, 99, 99, 99, 99,
				99, 99, 99, 99, 99, 99, 99, 99
			];
			for (i = 0; i < 64; i++) {
				t = Math.floor((UVQT[i]*sf+50)/100);
				if (t < 1) {
					t = 1;
				} else if (t > 255) {
					t = 255;
				}
				UVTable[ZigZag[i]] = t;
			}
			var aasf:Array = [
				1.0, 1.387039845, 1.306562965, 1.175875602,
				1.0, 0.785694958, 0.541196100, 0.275899379
			];
			i = 0;
			for (var row:int = 0; row < 8; row++)
			{
				for (var col:int = 0; col < 8; col++)
				{
					fdtbl_Y[i]  = (1.0 / (YTable [ZigZag[i]] * aasf[row] * aasf[col] * 8.0));
					fdtbl_UV[i] = (1.0 / (UVTable[ZigZag[i]] * aasf[row] * aasf[col] * 8.0));
					i++;
				}
			}
		}
	
		private var YDC_HT:Array;
		private var UVDC_HT:Array;
		private var YAC_HT:Array;
		private var UVAC_HT:Array;
	
		private function computeHuffmanTbl(nrcodes:Array, std_table:Array):Array
		{
			var codevalue:int = 0;
			var pos_in_table:int = 0;
			var HT:Array = new Array();
			for (var k:int=1; k<=16; k++) {
				for (var j:int=1; j<=nrcodes[k]; j++) {
					HT[std_table[pos_in_table]] = new BitString();
					HT[std_table[pos_in_table]].val = codevalue;
					HT[std_table[pos_in_table]].len = k;
					pos_in_table++;
					codevalue++;
				}
				codevalue*=2;
			}
			return HT;
		}
	
		private var std_dc_luminance_nrcodes:Array = [0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0];
		private var std_dc_luminance_values:Array = [0,1,2,3,4,5,6,7,8,9,10,11];
		private var std_ac_luminance_nrcodes:Array = [0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,0x7d];
		private var std_ac_luminance_values:Array = [
			0x01,0x02,0x03,0x00,0x04,0x11,0x05,0x12,
			0x21,0x31,0x41,0x06,0x13,0x51,0x61,0x07,
			0x22,0x71,0x14,0x32,0x81,0x91,0xa1,0x08,
			0x23,0x42,0xb1,0xc1,0x15,0x52,0xd1,0xf0,
			0x24,0x33,0x62,0x72,0x82,0x09,0x0a,0x16,
			0x17,0x18,0x19,0x1a,0x25,0x26,0x27,0x28,
			0x29,0x2a,0x34,0x35,0x36,0x37,0x38,0x39,
			0x3a,0x43,0x44,0x45,0x46,0x47,0x48,0x49,
			0x4a,0x53,0x54,0x55,0x56,0x57,0x58,0x59,
			0x5a,0x63,0x64,0x65,0x66,0x67,0x68,0x69,
			0x6a,0x73,0x74,0x75,0x76,0x77,0x78,0x79,
			0x7a,0x83,0x84,0x85,0x86,0x87,0x88,0x89,
			0x8a,0x92,0x93,0x94,0x95,0x96,0x97,0x98,
			0x99,0x9a,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,
			0xa8,0xa9,0xaa,0xb2,0xb3,0xb4,0xb5,0xb6,
			0xb7,0xb8,0xb9,0xba,0xc2,0xc3,0xc4,0xc5,
			0xc6,0xc7,0xc8,0xc9,0xca,0xd2,0xd3,0xd4,
			0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xe1,0xe2,
			0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,0xea,
			0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,
			0xf9,0xfa
		];
	
		private var std_dc_chrominance_nrcodes:Array = [0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0];
		private var std_dc_chrominance_values:Array = [0,1,2,3,4,5,6,7,8,9,10,11];
		private var std_ac_chrominance_nrcodes:Array = [0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,0x77];
		private var std_ac_chrominance_values:Array = [
			0x00,0x01,0x02,0x03,0x11,0x04,0x05,0x21,
			0x31,0x06,0x12,0x41,0x51,0x07,0x61,0x71,
			0x13,0x22,0x32,0x81,0x08,0x14,0x42,0x91,
			0xa1,0xb1,0xc1,0x09,0x23,0x33,0x52,0xf0,
			0x15,0x62,0x72,0xd1,0x0a,0x16,0x24,0x34,
			0xe1,0x25,0xf1,0x17,0x18,0x19,0x1a,0x26,
			0x27,0x28,0x29,0x2a,0x35,0x36,0x37,0x38,
			0x39,0x3a,0x43,0x44,0x45,0x46,0x47,0x48,
			0x49,0x4a,0x53,0x54,0x55,0x56,0x57,0x58,
			0x59,0x5a,0x63,0x64,0x65,0x66,0x67,0x68,
			0x69,0x6a,0x73,0x74,0x75,0x76,0x77,0x78,
			0x79,0x7a,0x82,0x83,0x84,0x85,0x86,0x87,
			0x88,0x89,0x8a,0x92,0x93,0x94,0x95,0x96,
			0x97,0x98,0x99,0x9a,0xa2,0xa3,0xa4,0xa5,
			0xa6,0xa7,0xa8,0xa9,0xaa,0xb2,0xb3,0xb4,
			0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xc2,0xc3,
			0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xd2,
			0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda,
			0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,
			0xea,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,
			0xf9,0xfa
		];
	
		private function initHuffmanTbl():void
		{
			YDC_HT = computeHuffmanTbl(std_dc_luminance_nrcodes,std_dc_luminance_values);
			UVDC_HT = computeHuffmanTbl(std_dc_chrominance_nrcodes,std_dc_chrominance_values);
			YAC_HT = computeHuffmanTbl(std_ac_luminance_nrcodes,std_ac_luminance_values);
			UVAC_HT = computeHuffmanTbl(std_ac_chrominance_nrcodes,std_ac_chrominance_values);
		}
	
		private var bitcode:Array = new Array(65535);
		private var category:Array = new Array(65535);
	
		private function initCategoryNumber():void
		{
			var nrlower:int = 1;
			var nrupper:int = 2;
			var nr:int;
			for (var cat:int=1; cat<=15; cat++) {
				//Positive numbers
				for (nr=nrlower; nr<nrupper; nr++) {
					category[32767+nr] = cat;
					bitcode[32767+nr] = new BitString();
					bitcode[32767+nr].len = cat;
					bitcode[32767+nr].val = nr;
				}
				//Negative numbers
				for (nr=-(nrupper-1); nr<=-nrlower; nr++) {
					category[32767+nr] = cat;
					bitcode[32767+nr] = new BitString();
					bitcode[32767+nr].len = cat;
					bitcode[32767+nr].val = nrupper-1+nr;
				}
				nrlower <<= 1;
				nrupper <<= 1;
			}
		}
	
		// IO functions
	
		private var byteout:ByteArray;
		private var bytenew:int = 0;
		private var bytepos:int = 7;
	
		private function writeBits(bs:BitString):void
		{
			var value:int = bs.val;
			var posval:int = bs.len-1;
			while ( posval >= 0 ) {
				if (value & uint(1 << posval) ) {
					bytenew |= uint(1 << bytepos);
				}
				posval--;
				bytepos--;
				if (bytepos < 0) {
					if (bytenew == 0xFF) {
						writeByte(0xFF);
						writeByte(0);
					}
					else {
						writeByte(bytenew);
					}
					bytepos=7;
					bytenew=0;
				}
			}
		}
	
		private function writeByte(value:int):void
		{
			byteout.writeByte(value);
		}
	
		private function writeWord(value:int):void
		{
			writeByte((value>>8)&0xFF);
			writeByte((value   )&0xFF);
		}
	
		// DCT & quantization core
	
		private function fDCTQuant(data:Array, fdtbl:Array):Array
		{
			var tmp0:Number, tmp1:Number, tmp2:Number, tmp3:Number, tmp4:Number, tmp5:Number, tmp6:Number, tmp7:Number;
			var tmp10:Number, tmp11:Number, tmp12:Number, tmp13:Number;
			var z1:Number, z2:Number, z3:Number, z4:Number, z5:Number, z11:Number, z13:Number;
			var i:int;
			/* Pass 1: process rows. */
			var dataOff:int=0;
			for (i=0; i<8; i++) {
				tmp0 = data[dataOff+0] + data[dataOff+7];
				tmp7 = data[dataOff+0] - data[dataOff+7];
				tmp1 = data[dataOff+1] + data[dataOff+6];
				tmp6 = data[dataOff+1] - data[dataOff+6];
				tmp2 = data[dataOff+2] + data[dataOff+5];
				tmp5 = data[dataOff+2] - data[dataOff+5];
				tmp3 = data[dataOff+3] + data[dataOff+4];
				tmp4 = data[dataOff+3] - data[dataOff+4];
	
				/* Even part */
				tmp10 = tmp0 + tmp3;	/* phase 2 */
				tmp13 = tmp0 - tmp3;
				tmp11 = tmp1 + tmp2;
				tmp12 = tmp1 - tmp2;
	
				data[dataOff+0] = tmp10 + tmp11; /* phase 3 */
				data[dataOff+4] = tmp10 - tmp11;
	
				z1 = (tmp12 + tmp13) * 0.707106781; /* c4 */
				data[dataOff+2] = tmp13 + z1; /* phase 5 */
				data[dataOff+6] = tmp13 - z1;
	
				/* Odd part */
				tmp10 = tmp4 + tmp5; /* phase 2 */
				tmp11 = tmp5 + tmp6;
				tmp12 = tmp6 + tmp7;
	
				/* The rotator is modified from fig 4-8 to avoid extra negations. */
				z5 = (tmp10 - tmp12) * 0.382683433; /* c6 */
				z2 = 0.541196100 * tmp10 + z5; /* c2-c6 */
				z4 = 1.306562965 * tmp12 + z5; /* c2+c6 */
				z3 = tmp11 * 0.707106781; /* c4 */
	
				z11 = tmp7 + z3;	/* phase 5 */
				z13 = tmp7 - z3;
	
				data[dataOff+5] = z13 + z2;	/* phase 6 */
				data[dataOff+3] = z13 - z2;
				data[dataOff+1] = z11 + z4;
				data[dataOff+7] = z11 - z4;
	
				dataOff += 8; /* advance pointer to next row */
			}
	
			/* Pass 2: process columns. */
			dataOff = 0;
			for (i=0; i<8; i++) {
				tmp0 = data[dataOff+ 0] + data[dataOff+56];
				tmp7 = data[dataOff+ 0] - data[dataOff+56];
				tmp1 = data[dataOff+ 8] + data[dataOff+48];

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美伊人精品成人久久综合97 | 99精品热视频| 国产亚洲欧美一级| 国产在线乱码一区二区三区| 欧美成人伊人久久综合网| 久久99深爱久久99精品| 亚洲精品一区二区三区香蕉| 国产高清精品网站| 中文字幕一区二区在线播放| 色av综合在线| 蜜臀av性久久久久蜜臀aⅴ四虎| 日韩一区二区三区观看| 国产一区视频网站| 中文字幕一区二区在线播放| 欧美日韩国产影片| 精品中文字幕一区二区小辣椒| 国产亚洲欧洲997久久综合 | 日本一区二区免费在线| 91麻豆.com| 日韩精品亚洲专区| 国产亚洲欧美日韩在线一区| 色哟哟一区二区三区| 日本在线不卡视频| 国产免费成人在线视频| 欧美在线短视频| 紧缚捆绑精品一区二区| 自拍av一区二区三区| 欧美精品久久久久久久多人混战| 经典一区二区三区| 亚洲精品欧美激情| www日韩大片| 日本道精品一区二区三区| 久久机这里只有精品| 亚洲欧美电影院| 精品欧美久久久| 欧洲激情一区二区| 国产成人啪免费观看软件| 亚洲电影第三页| 综合电影一区二区三区 | 在线视频亚洲一区| 国产精品一区二区久激情瑜伽| 亚洲最新在线观看| 久久久久久久av麻豆果冻| 欧美男人的天堂一二区| 成人91在线观看| 久久国产精品色婷婷| 亚洲一级二级三级在线免费观看| 久久伊人蜜桃av一区二区| 在线播放欧美女士性生活| 一本一道综合狠狠老| 国产成人av网站| 蜜臀99久久精品久久久久久软件| 一个色在线综合| 国产精品灌醉下药二区| 久久新电视剧免费观看| 91精品福利在线一区二区三区| 91看片淫黄大片一级| 国产精品一二二区| 精品亚洲porn| 美腿丝袜亚洲综合| 亚洲h动漫在线| 亚洲一区视频在线| 亚洲综合一区二区精品导航| 国产精品三级av| 国产亚洲1区2区3区| 精品国产一区二区亚洲人成毛片| 欧美美女直播网站| 欧美日韩国产片| 欧美群妇大交群中文字幕| 欧美视频一区在线观看| 在线观看日韩电影| 在线免费观看日本欧美| 色婷婷综合久久| 在线一区二区视频| 在线观看亚洲成人| 欧美午夜精品一区二区三区| 色诱亚洲精品久久久久久| 91女神在线视频| 日本久久电影网| 欧美性色aⅴ视频一区日韩精品| 色综合久久精品| 欧美午夜精品一区二区三区| 欧美日韩久久久一区| 欧美电影一区二区三区| 91精品国产欧美日韩| 91精品国产乱码久久蜜臀| 欧美一区二区三区四区视频| 欧美大白屁股肥臀xxxxxx| 精品国产91洋老外米糕| 久久在线观看免费| 中文字幕一区二区三区蜜月| 亚洲伦在线观看| 丝袜诱惑制服诱惑色一区在线观看 | av在线播放不卡| 色94色欧美sute亚洲线路二| 欧美精品乱码久久久久久按摩| 555夜色666亚洲国产免| 欧美va天堂va视频va在线| 久久伊人蜜桃av一区二区| 国产蜜臀av在线一区二区三区| 久久视频一区二区| 久久女同互慰一区二区三区| 欧美激情一区二区三区全黄 | 国产欧美一区二区三区鸳鸯浴| 中文字幕免费不卡在线| 亚洲欧美另类久久久精品| 亚洲chinese男男1069| 久久国产综合精品| 99久久精品一区| 777a∨成人精品桃花网| 久久夜色精品一区| 亚洲免费av在线| 精品一区二区三区免费视频| 99在线热播精品免费| 91精品国产黑色紧身裤美女| 中文字幕欧美一区| 日韩和的一区二区| 不卡的av网站| 日韩一级免费观看| 国产精品网友自拍| 日韩成人一级片| a4yy欧美一区二区三区| 日韩一区二区精品| 亚洲天堂a在线| 久久99国产精品免费网站| 91免费在线看| 国产三级三级三级精品8ⅰ区| 樱花影视一区二区| 国产一区视频导航| 欧美午夜精品久久久久久超碰| 精品国产乱码久久久久久久| 伊人开心综合网| 国产不卡高清在线观看视频| 51午夜精品国产| 亚洲影院在线观看| 成人免费不卡视频| 337p日本欧洲亚洲大胆精品| 亚洲大尺度视频在线观看| 99久久精品国产麻豆演员表| 精品成人免费观看| 日本亚洲免费观看| 欧美日韩精品二区第二页| 中文字幕中文字幕在线一区| 久久97超碰色| 91麻豆精品91久久久久久清纯| 日韩毛片视频在线看| 国产永久精品大片wwwapp| 欧美一区二区在线免费播放| 亚洲成a天堂v人片| 在线看国产一区| 亚洲人成精品久久久久| 粗大黑人巨茎大战欧美成人| 精品捆绑美女sm三区| 日本不卡不码高清免费观看| 欧美老肥妇做.爰bbww视频| 亚洲精品久久久久久国产精华液| 成人18视频日本| 国产精品久久久久久久久快鸭 | 欧美大胆人体bbbb| 天天爽夜夜爽夜夜爽精品视频| 日韩欧美视频在线| 国产精品人成在线观看免费| 91精品国产91久久久久久一区二区 | 欧美日韩国产一二三| 一区二区三区四区在线播放| 欧美在线不卡一区| 免费在线观看视频一区| 2023国产一二三区日本精品2022| 国产一区二区日韩精品| 国产精品麻豆久久久| 色婷婷综合久久久久中文一区二区| 亚洲 欧美综合在线网络| 欧美成人a在线| 99久久综合狠狠综合久久| 午夜影院在线观看欧美| 国产午夜亚洲精品羞羞网站| 一本久久a久久精品亚洲| 日本va欧美va精品发布| 中文字幕成人av| 欧美伦理视频网站| 成人深夜在线观看| 天天射综合影视| 国产精品乱人伦中文| 欧美福利视频一区| 国产成人福利片| 天天影视色香欲综合网老头| 国产精品欧美一区喷水| 欧美一区二区免费视频| www.欧美精品一二区| 美女诱惑一区二区| 亚洲综合清纯丝袜自拍| 国产午夜精品一区二区三区视频 | 91国模大尺度私拍在线视频| 精品亚洲成a人| 亚洲第一av色| 中文字幕日韩精品一区 | 亚洲成a天堂v人片| 国产精品美女视频| 精品国内片67194| 欧美日韩二区三区|