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

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

?? image.cfc

?? 強大的個人日志系統,界面華麗
?? CFC
?? 第 1 頁 / 共 4 頁
字號:

		op.init(at.getScaleInstance(javacast("double",w),javacast("double",h)), rh);
		// resizedImage = op.createCompatibleDestImage(img, img.getColorModel());
		op.filter(img, resizedImage);

		imgInfo = getimageinfo(resizedImage, "");
		if (imgInfo.errorCode gt 0)
		{
			return imgInfo;
		}

		cropOffsetX = max( Int( (imgInfo.width/2) - (newWidth/2) ), 0 );
		cropOffsetY = max( Int( (imgInfo.height/2) - (newHeight/2) ), 0 );
		// There is a chance that the image is exactly the correct
		// width and height and don't need to be cropped
		if
			(
			preserveAspect and cropToExact
			and
			(imgInfo.width IS NOT specifiedWidth OR imgInfo.height IS NOT specifiedHeight)
			)
		{
			// Get the correct offset to get the center of the image
			cropOffsetX = max( Int( (imgInfo.width/2) - (specifiedWidth/2) ), 0 );
			cropOffsetY = max( Int( (imgInfo.height/2) - (specifiedHeight/2) ), 0 );

			cropImageResult = crop( resizedImage, "", "", cropOffsetX, cropOffsetY, specifiedWidth, specifiedHeight );
			if ( cropImageResult.errorCode GT 0)
			{
				return cropImageResult;
			} else {
				resizedImage = cropImageResult.img;
			}
		}
		if (outputFile eq "")
		{
			retVal.img = resizedImage;
			return retVal;
		} else {
			saveImage = writeImage(outputFile, resizedImage, jpegCompression);
			if (saveImage.errorCode gt 0)
			{
				return saveImage;
			} else {
				return retVal;
			}
		}
	</cfscript>
</cffunction>

<cffunction name="crop" access="public" output="true" returntype="struct" hint="Crop an image.">
	<cfargument name="objImage" required="yes" type="Any">
	<cfargument name="inputFile" required="yes" type="string">
	<cfargument name="outputFile" required="yes" type="string">
	<cfargument name="fromX" required="yes" type="numeric">
	<cfargument name="fromY" required="yes" type="numeric">
	<cfargument name="newWidth" required="yes" type="numeric">
	<cfargument name="newHeight" required="yes" type="numeric">
	<cfargument name="jpegCompression" required="no" type="numeric" default="#variables.defaultJpegCompression#">

	<cfset var retVal = StructNew()>
	<cfset var loadImage = StructNew()>
	<cfset var saveImage = StructNew()>
	<cfset var croppedImage = "">
	<cfset var rh = getRenderingHints()>
	<cfset var img = "">

	<cfset retVal.errorCode = 0>
	<cfset retVal.errorMessage = "">

	<cfif inputFile neq "">
		<cfset loadImage = readImage(inputFile, "NO")>
		<cfif loadImage.errorCode is 0>
			<cfset img = loadImage.img>
		<cfelse>
			<cfset retVal = throw(loadImage.errorMessage)>
			<cfreturn retVal>
		</cfif>
	<cfelse>
		<cfset img = objImage>
	</cfif>
	<cfif img.getType() eq 0>
		<cfset img = convertImageObject(img,img.TYPE_3BYTE_BGR)>
	</cfif>
	<cfscript>
		if (fromX + newWidth gt img.getWidth()
			OR
			fromY + newHeight gt img.getHeight()
			)
		{
			retval = throw( "The cropped image dimensions go beyond the original image dimensions.");
			return retVal;
		}
		croppedImage = img.getSubimage(javaCast("int", fromX), javaCast("int", fromY), javaCast("int", newWidth), javaCast("int", newHeight) );
		if (outputFile eq "")
		{
			retVal.img = croppedImage;
			return retVal;
		} else {
			saveImage = writeImage(outputFile, croppedImage, jpegCompression);
			if (saveImage.errorCode gt 0)
			{
				return saveImage;
			} else {
				return retVal;
			}
		}
	</cfscript>
</cffunction>

<cffunction name="rotate" access="public" output="true" returntype="struct" hint="Rotate an image (+/-)90, (+/-)180, or (+/-)270 degrees.">
	<cfargument name="objImage" required="yes" type="Any">
	<cfargument name="inputFile" required="yes" type="string">
	<cfargument name="outputFile" required="yes" type="string">
	<cfargument name="degrees" required="yes" type="numeric">
	<cfargument name="jpegCompression" required="no" type="numeric" default="#variables.defaultJpegCompression#">

	<cfset var retVal = StructNew()>
	<cfset var img = "">
	<cfset var loadImage = StructNew()>
	<cfset var saveImage = StructNew()>
	<cfset var at = "">
	<cfset var op = "">
	<cfset var w = 0>
	<cfset var h = 0>
	<cfset var iw = 0>
	<cfset var ih = 0>
	<cfset var x = 0>
	<cfset var y = 0>
	<cfset var rotatedImage = "">
	<cfset var rh = getRenderingHints()>

	<cfset retVal.errorCode = 0>
	<cfset retVal.errorMessage = "">

	<cfif inputFile neq "">
		<cfset loadImage = readImage(inputFile, "NO")>
		<cfif loadImage.errorCode is 0>
			<cfset img = loadImage.img>
		<cfelse>
			<cfset retVal = throw(loadImage.errorMessage)>
			<cfreturn retVal>
		</cfif>
	<cfelse>
		<cfset img = objImage>
	</cfif>
	<cfif img.getType() eq 0>
		<cfset img = convertImageObject(img,img.TYPE_3BYTE_BGR)>
	</cfif>
	<cfif ListFind("-270,-180,-90,90,180,270",degrees) is 0>
		<cfset retVal = throw( "At this time, image.cfc only supports rotating images in 90 degree increments.")>
		<cfreturn retVal>
	</cfif>

	<cfscript>
		rotatedImage = CreateObject("java", "java.awt.image.BufferedImage");
		at = CreateObject("java", "java.awt.geom.AffineTransform");
		op = CreateObject("java", "java.awt.image.AffineTransformOp");

		iw = img.getWidth(); h = iw;
		ih = img.getHeight(); w = ih;

		if(arguments.degrees eq 180) { w = iw; h = ih; }

		x = (w/2)-(iw/2);
		y = (h/2)-(ih/2);

		rotatedImage.init(javacast("int",w),javacast("int",h),img.getType());

		at.rotate(arguments.degrees * 0.0174532925,w/2,h/2);
		at.translate(x,y);
		op.init(at, rh);

		op.filter(img, rotatedImage);

		if (outputFile eq "")
		{
			retVal.img = rotatedImage;
			return retVal;
		} else {
			saveImage = writeImage(outputFile, rotatedImage, jpegCompression);
			if (saveImage.errorCode gt 0)
			{
				return saveImage;
			} else {
				return retVal;
			}
		}
	</cfscript>
</cffunction>

<cffunction name="convert" access="public" output="true" returntype="struct" hint="Convert an image from one format to another.">
	<cfargument name="objImage" required="yes" type="Any">
	<cfargument name="inputFile" required="yes" type="string">
	<cfargument name="outputFile" required="yes" type="string">
	<cfargument name="jpegCompression" required="no" type="numeric" default="#variables.defaultJpegCompression#">

	<cfset var retVal = StructNew()>
	<cfset var loadImage = StructNew()>
	<cfset var saveImage = StructNew()>
	<cfset var img = "">

	<cfset retVal.errorCode = 0>
	<cfset retVal.errorMessage = "">

	<cfif inputFile neq "">
		<cfset loadImage = readImage(inputFile, "NO")>
		<cfif loadImage.errorCode is 0>
			<cfset img = loadImage.img>
		<cfelse>
			<cfset retVal = throw(loadImage.errorMessage)>
			<cfreturn retVal>
		</cfif>
	<cfelse>
		<cfset img = objImage>
	</cfif>

	<cfscript>
		if (outputFile eq "")
		{
			retVal = throw( "The convert method requires a valid output filename.");
			return retVal;
		} else {
			saveImage = writeImage(outputFile, img, jpegCompression);
			if (saveImage.errorCode gt 0)
			{
				return saveImage;
			} else {
				return retVal;
			}
		}
	</cfscript>
</cffunction>

<cffunction name="setOption" access="public" output="true" returnType="void" hint="Sets values for allowed CFC options.">
	<cfargument name="key" type="string" required="yes">
	<cfargument name="val" type="string" required="yes">

	<cfset var validKeys = "interpolation,textantialiasing,throwonerror,defaultJpegCompression">
	<cfset arguments.key = lcase(trim(arguments.key))>
	<cfset arguments.val = lcase(trim(arguments.val))>
	<cfif listFind(validKeys, arguments.key) gt 0>
		<cfset variables[arguments.key] = arguments.val>
	</cfif>
</cffunction>

<cffunction name="getOption" access="public" output="true" returnType="any" hint="Returns the current value for the specified CFC option.">
	<cfargument name="key" type="string" required="yes">

	<cfset var validKeys = "interpolation,textantialiasing,throwonerror,defaultJpegCompression">
	<cfset arguments.key = lcase(trim(arguments.key))>
	<cfif listFindNoCase(validKeys, arguments.key) gt 0>
		<cfreturn variables[arguments.key]>
	<cfelse>
		<cfreturn "">
	</cfif>
</cffunction>

<cffunction name="getRenderingHints" access="private" output="true" returnType="any" hint="Internal method controls various aspects of rendering quality.">
	<cfset var rh = CreateObject("java","java.awt.RenderingHints")>
	<cfset var initMap = CreateObject("java","java.util.HashMap")>
	<cfset initMap.init()>
	<cfset rh.init(initMap)>
	<cfset rh.put(rh.KEY_ALPHA_INTERPOLATION, rh.VALUE_ALPHA_INTERPOLATION_QUALITY)> <!--- QUALITY, SPEED, DEFAULT --->
	<cfset rh.put(rh.KEY_ANTIALIASING, rh.VALUE_ANTIALIAS_ON)> <!--- ON, OFF, DEFAULT --->
	<cfset rh.put(rh.KEY_COLOR_RENDERING, rh.VALUE_COLOR_RENDER_QUALITY)>  <!--- QUALITY, SPEED, DEFAULT --->
	<cfset rh.put(rh.KEY_DITHERING, rh.VALUE_DITHER_DEFAULT)> <!--- DISABLE, ENABLE, DEFAULT --->
	<cfset rh.put(rh.KEY_RENDERING, rh.VALUE_RENDER_QUALITY)> <!--- QUALITY, SPEED, DEFAULT --->
	<cfset rh.put(rh.KEY_FRACTIONALMETRICS, rh.VALUE_FRACTIONALMETRICS_DEFAULT)> <!--- DISABLE, ENABLE, DEFAULT --->
	<cfset rh.put(rh.KEY_STROKE_CONTROL, rh.VALUE_STROKE_DEFAULT)>

	<cfif variables.textAntiAliasing>
		<cfset rh.put(rh.KEY_TEXT_ANTIALIASING, rh.VALUE_TEXT_ANTIALIAS_ON)>
	<cfelse>
		<cfset rh.put(rh.KEY_TEXT_ANTIALIASING, rh.VALUE_TEXT_ANTIALIAS_OFF)>
	</cfif>

	<cfif variables.interpolation eq "nearest_neighbor">
		<cfset rh.put(rh.KEY_INTERPOLATION, rh.VALUE_INTERPOLATION_NEAREST_NEIGHBOR)>
	<cfelseif variables.interpolation eq "bilinear">
		<cfset rh.put(rh.KEY_INTERPOLATION, rh.VALUE_INTERPOLATION_BILINEAR)>
	<cfelse>
		<cfset rh.put(rh.KEY_INTERPOLATION, rh.VALUE_INTERPOLATION_BICUBIC)>
	</cfif>

	<cfreturn rh>
</cffunction>

<cffunction name="readImage" access="public" output="true" returntype="struct" hint="Reads an image from a local file.  Requires an absolute path.">
	<cfargument name="source" required="yes" type="string">
	<cfargument name="forModification" required="no" type="boolean" default="yes">

	<cfif isURL(source)>
		<cfreturn readImageFromURL(source, forModification)>
	<cfelse>
		<cfreturn readImageFromFile(source, forModification)>
	</cfif>
</cffunction>

<cffunction name="readImageFromFile" access="private" output="true" returntype="struct" hint="Reads an image from a local file.  Requires an absolute path.">
	<cfargument name="inputFile" required="yes" type="string">
	<cfargument name="forModification" required="no" type="boolean" default="yes">

	<cfset var retVal = StructNew()>
	<cfset var img = "">
	<cfset var inFile = "">
	<cfset var filename = getFileFromPath(inputFile)>
	<cfset var extension = lcase(listLast(inputFile,"."))>
	<cfset var imageIO = CreateObject("java", "javax.imageio.ImageIO")>
	<cfset var validExtensionsToRead = ArrayToList(imageIO.getReaderFormatNames())>

	<cfset retVal.errorCode = 0>
	<cfset retVal.errorMessage = "">

	<cfif not fileExists(arguments.inputFile)>
		<cfset retVal = throw("The specified file #Chr(34)##arguments.inputFile##Chr(34)# could not be found.")>
		<cfreturn retVal>
	<cfelseif listLen(filename,".") lt 2>
		<cfset retVal = throw("Sorry, image files without extensions cannot be manipulated.")>
		<cfreturn retVal>
	<cfelseif listFindNoCase(validExtensionsToRead, extension) is 0>
		<cfset retVal = throw("Java is unable to read #extension# files.")>
		<cfreturn retVal>
	<cfelseif NOT fileExists(arguments.inputFile)>
		<cfset retVal = throw("The specified input file does not exist.")>
		<cfreturn retVal>
	<cfelse>
		<cfset img = CreateObject("java", "java.awt.image.BufferedImage")>
		<cfset inFile = CreateObject("java", "java.io.File")>
		<cfset inFile.init(arguments.inputFile)>
		<cfif NOT inFile.canRead()>
			<cfset retVal = throw("Unable to open source file #Chr(34)##arguments.inputFile##Chr(34)#.")>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国一区二区三区| 亚洲综合av网| 亚洲综合免费观看高清在线观看| 老鸭窝一区二区久久精品| 99国产精品一区| 精品国产一区二区精华| 亚洲一二三四区| 成人午夜电影网站| 日韩欧美高清在线| 亚洲电影一区二区三区| 国产成人精品aa毛片| 欧美成人video| 污片在线观看一区二区| 色哦色哦哦色天天综合| 国产亚洲欧洲997久久综合 | www亚洲一区| 亚洲国产另类av| 91香蕉视频在线| 国产偷国产偷亚洲高清人白洁| 日日摸夜夜添夜夜添国产精品| 色偷偷久久人人79超碰人人澡| 久久久久久**毛片大全| 蜜臀av性久久久久蜜臀aⅴ四虎| 色噜噜偷拍精品综合在线| 亚洲国产经典视频| 国产一区二区三区电影在线观看| 在线不卡一区二区| 午夜电影网亚洲视频| 在线亚洲欧美专区二区| 亚洲柠檬福利资源导航| 99精品国产一区二区三区不卡| 欧美国产一区视频在线观看| 成人午夜av电影| 亚洲欧洲日韩在线| 一本高清dvd不卡在线观看| 综合精品久久久| 91在线视频观看| 亚洲精品欧美二区三区中文字幕| 99久久777色| 亚洲精品你懂的| 欧美日韩综合色| 人禽交欧美网站| 欧美大尺度电影在线| 久久精品国产亚洲a| 26uuu成人网一区二区三区| 国产成人精品免费在线| 国产精品美女久久久久aⅴ国产馆| 高清日韩电视剧大全免费| 国产精品国模大尺度视频| 色综合久久久久综合体 | 国产精品国产自产拍高清av| 成人99免费视频| 一区二区欧美国产| 7777精品伊人久久久大香线蕉完整版 | 日韩亚洲欧美在线观看| 久久国产生活片100| 国产日韩影视精品| 91看片淫黄大片一级在线观看| 亚洲一二三四久久| 欧美精品一区男女天堂| av在线一区二区| 亚洲成人激情自拍| 久久精品欧美一区二区三区麻豆| 成人黄色电影在线| 丝袜国产日韩另类美女| 久久久久亚洲综合| 91国偷自产一区二区开放时间| 日韩国产欧美在线观看| 国产欧美综合在线| 欧美日韩不卡一区| 成人午夜大片免费观看| 亚欧色一区w666天堂| 精品国产一区二区三区四区四| 91视频免费看| 精品一区二区三区香蕉蜜桃| 亚洲一级在线观看| 日本一区二区成人| 日韩午夜小视频| 91免费版在线看| 国产一区二区三区在线观看免费视频 | 欧美成人免费网站| 欧美综合久久久| 国产成人av网站| 日本美女视频一区二区| 亚洲欧美激情插| 久久影院午夜论| 欧美日本免费一区二区三区| www.久久久久久久久| 久久99久久精品欧美| 亚洲狠狠丁香婷婷综合久久久| 欧美成人三级电影在线| 欧美巨大另类极品videosbest | 免费的成人av| 亚洲二区在线视频| 亚洲精品日产精品乱码不卡| 久久天堂av综合合色蜜桃网| 51精品秘密在线观看| 色av一区二区| 99久久99久久精品免费观看| 国产精品88av| 日韩精品乱码av一区二区| 亚洲午夜成aⅴ人片| 亚洲欧美一区二区三区久本道91| 国产欧美一区二区三区沐欲| 精品久久一二三区| 欧美精品一区二区三区在线播放| 日韩欧美一区二区在线视频| 欧美精品在线观看播放| 色综合久久综合网97色综合 | 国产精品99久久久久久久女警| 日韩av一二三| 日韩中文字幕不卡| 日韩精品乱码av一区二区| 午夜成人在线视频| 免费欧美在线视频| 精一区二区三区| 国内精品伊人久久久久av一坑| 美女视频第一区二区三区免费观看网站| 亚洲伊人伊色伊影伊综合网| 一区二区三区日韩欧美精品| 亚洲一区二区三区四区中文字幕| 亚洲在线视频免费观看| 亚洲成人激情自拍| 精品一区二区三区免费视频| 国模少妇一区二区三区| 国产一区二区在线观看视频| 国产成人免费在线| 99综合影院在线| 在线视频欧美精品| 欧美高清hd18日本| 久久婷婷一区二区三区| 亚洲国产成人一区二区三区| 中文字幕一区二区三区av| 亚洲精品久久久蜜桃| 日韩在线一区二区| 国产在线视视频有精品| 成人动漫精品一区二区| 日本高清成人免费播放| 91精品免费在线| 国产色91在线| 亚洲自拍偷拍九九九| 精品一区二区久久久| 国产成人av在线影院| 色天天综合久久久久综合片| 91精品一区二区三区在线观看| 亚洲精品在线免费观看视频| 亚洲欧洲国产专区| 人禽交欧美网站| av不卡在线观看| 日韩欧美一级片| 亚洲天堂福利av| 免费看日韩a级影片| 岛国精品在线观看| 欧美日韩高清一区二区不卡| 久久女同精品一区二区| 亚洲精品成人在线| 精品亚洲成a人| 在线观看中文字幕不卡| 久久综合色一综合色88| 悠悠色在线精品| 国产成人午夜精品5599| 欧美亚洲图片小说| 国产精品三级在线观看| 日韩av一二三| 日本道精品一区二区三区| 2014亚洲片线观看视频免费| 一级中文字幕一区二区| 国产高清成人在线| 欧美精品乱码久久久久久按摩| 国产精品久久二区二区| 激情文学综合插| 在线不卡中文字幕播放| 亚洲黄色免费网站| 99麻豆久久久国产精品免费优播| 欧美成人女星排名| 日韩av一区二| 6080日韩午夜伦伦午夜伦| 亚洲美女视频在线观看| 丁香一区二区三区| 久久久久久久精| 久久99精品久久久久久国产越南| 欧美在线一二三四区| 亚洲乱码国产乱码精品精98午夜 | 久久久久高清精品| 麻豆精品一区二区| 欧美日韩中文字幕一区| 亚洲精品成人少妇| av电影天堂一区二区在线观看| 久久精品亚洲国产奇米99| 日本中文在线一区| 91精品国产综合久久精品| 亚洲午夜激情网页| 91高清在线观看| 亚洲美女在线国产| 在线视频中文字幕一区二区| 一区二区三区免费观看| 91在线免费视频观看| 亚洲视频在线一区二区| 99综合电影在线视频| 亚洲欧美色一区|