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

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

?? image.cfc

?? 強大的個人日志系統,界面華麗
?? CFC
?? 第 1 頁 / 共 4 頁
字號:
	<cfscript>
		// initialize the posterize filter
		variables.posterizeFilter.init(arguments.amount);

		destImage = variables.posterizeFilter.filter(srcImage);


		if (outputFile eq "")
		{
			// return the image object
			retVal.img = destImage;
			return retVal;
		} else {
			// write the image object to the specified file.
			saveImage = writeImage(outputFile, destImage, jpegCompression);
			if (saveImage.errorCode gt 0)
			{
				return saveImage;
			} else {
				return retVal;
			}
		}
	</cfscript>
</cffunction>


<cffunction name="addText" access="public" output="true" returntype="struct" hint="Add text to 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="x" required="yes" type="numeric">
	<cfargument name="y" required="yes" type="numeric">
	<cfargument name="fontDetails" required="yes" type="struct">
	<cfargument name="content" required="yes" type="String">
	<cfargument name="jpegCompression" required="no" type="numeric" default="#variables.defaultJpegCompression#">

	<cfset var retVal = StructNew()>
	<cfset var loadImage = StructNew()>
	<cfset var img = "">
	<cfset var saveImage = StructNew()>
	<cfset var g2d = "">
	<cfset var bgImage = "">
	<cfset var fontImage = "">
	<cfset var overlayImage = "">
	<cfset var Color = "">
	<cfset var font = "">
	<cfset var font_stream = "">
	<cfset var ac = "">
	<cfset var rgb = "">

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

	<cfparam name="arguments.fontDetails.size" default="12">
	<cfparam name="arguments.fontDetails.color" default="black">
	<cfparam name="arguments.fontDetails.fontFile" default="">
	<cfparam name="arguments.fontDetails.fontName" default="serif">

	<cfif arguments.fontDetails.fontFile neq "" and not fileExists(arguments.fontDetails.fontFile)>
		<cfset retVal = throw("The specified font file #Chr(34)##arguments.inputFile##Chr(34)# could not be found on the server.")>
		<cfreturn retVal>
	</cfif>
	<cftry>
		<cfset rgb = getRGB(arguments.fontDetails.color)>
		<cfcatch type="any">
			<cfset retVal = throw("Invalid color #Chr(34)##arguments.fontDetails.color##Chr(34)#")>
			<cfreturn retVal>
		</cfcatch>
	</cftry>
	<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>
		// load objects
		bgImage = CreateObject("java", "java.awt.image.BufferedImage");
		fontImage = CreateObject("java", "java.awt.image.BufferedImage");
		overlayImage = CreateObject("java", "java.awt.image.BufferedImage");
		Color = CreateObject("java","java.awt.Color");
		font = createObject("java","java.awt.Font");
		font_stream = createObject("java","java.io.FileInputStream");
		ac = CreateObject("Java", "java.awt.AlphaComposite");

		// set up basic needs
		fontColor = Color.init(javacast("int", rgb.red), javacast("int", rgb.green), javacast("int", rgb.blue));

		if (fontDetails.fontFile neq "")
		{
			font_stream.init(arguments.fontDetails.fontFile);
			font = font.createFont(font.TRUETYPE_FONT, font_stream);
			font = font.deriveFont(javacast("float",arguments.fontDetails.size));
		} else {
			font.init(fontDetails.fontName, evaluate(fontDetails.style), fontDetails.size);
		}
		// get font metrics using a 1x1 bufferedImage
		fontImage.init(1,1,img.getType());
		g2 = fontImage.createGraphics();
		g2.setRenderingHints(getRenderingHints());
		fc = g2.getFontRenderContext();
		bounds = font.getStringBounds(content,fc);

		g2 = img.createGraphics();
		g2.setRenderingHints(getRenderingHints());
		g2.setFont(font);
		g2.setColor(fontColor);
		// in case you want to change the alpha
		// g2.setComposite(ac.getInstance(ac.SRC_OVER, 0.50));

		// the location (arguments.fontDetails.size+y) doesn't really work
		// the way I want it to.
		g2.drawString(content,javacast("int",x),javacast("int",arguments.fontDetails.size+y));

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

<cffunction name="watermark" access="public" output="false">
	<cfargument name="objImage1" required="yes" type="Any">
	<cfargument name="objImage2" required="yes" type="Any">
	<cfargument name="inputFile1" required="yes" type="string">
	<cfargument name="inputFile2" required="yes" type="string">
	<cfargument name="alpha" required="yes" type="numeric">
	<cfargument name="placeAtX" required="yes" type="numeric">
	<cfargument name="placeAtY" required="yes" type="numeric">
	<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 originalImage = "">
	<cfset var wmImage = "">
	<cfset var saveImage = StructNew()>
	<cfset var ac = "">
	<cfset var rh = getRenderingHints()>

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

	<cfif inputFile1 neq "">
		<cfset loadImage = readImage(inputFile1, "NO")>
		<cfif loadImage.errorCode is 0>
			<cfset originalImage = loadImage.img>
		<cfelse>
			<cfset retVal = throw(loadImage.errorMessage)>
			<cfreturn retVal>
		</cfif>
	<cfelse>
		<cfset originalImage = objImage1>
	</cfif>
	<cfif originalImage.getType() eq 0>
		<cfset originalImage = convertImageObject(originalImage,originalImage.TYPE_3BYTE_BGR)>
	</cfif>

	<cfif inputFile2 neq "">
		<cfset loadImage = readImage(inputFile2, "NO")>
		<cfif loadImage.errorCode is 0>
			<cfset wmImage = loadImage.img>
		<cfelse>
			<cfset retVal = throw(loadImage.errorMessage)>
			<cfreturn retVal>
		</cfif>
	<cfelse>
		<cfset wmImage = objImage2>
	</cfif>
	<cfif wmImage.getType() eq 0>
		<cfset wmImage = convertImageObject(wmImage,wmImage.TYPE_3BYTE_BGR)>
	</cfif>


	<cfscript>
		at = CreateObject("java", "java.awt.geom.AffineTransform");
		op = CreateObject("java", "java.awt.image.AffineTransformOp");
		ac = CreateObject("Java", "java.awt.AlphaComposite");
		gfx = originalImage.getGraphics();
		gfx.setComposite(ac.getInstance(ac.SRC_OVER, alpha));

		at.init();
		// op.init(at,op.TYPE_BILINEAR);
		op.init(at, rh);

		gfx.drawImage(wmImage, op, javaCast("int",arguments.placeAtX), javacast("int", arguments.placeAtY));

		gfx.dispose();

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

<cffunction name="isURL" access="private" output="false" returnType="boolean">
	<cfargument name="stringToCheck" required="yes" type="string">
	<cfif REFindNoCase("^(((https?:)\/\/))[-[:alnum:]\?%,\.\/&##!@:=\+~_]+[A-Za-z0-9\/]$",stringToCheck) NEQ 0>
		<cfreturn true>
	<cfelse>
		<cfreturn false>
	</cfif>
</cffunction>

<!--- function returns RGB values in a structure for hex or the 16
	HTML named colors --->
<cffunction name="getRGB" access="private" output="true" returnType="struct">
	<cfargument name="color" type="string" required="yes">

	<cfset var retVal = structNew()>
	<cfset var cnt = 0>
	<cfset var namedColors = "aqua,black,blue,fuchsia,gray,green,lime,maroon,navy,olive,purple,red,silver,teal,white,yellow">
	<cfset var namedColorsHexValues = "00ffff,000000,0000ff,ff00ff,808080,008000,00ff00,800000,000080,808080,ff0000,c0c0c0,008080,ffffff,ffff00">

	<cfset retVal.red = 0>
	<cfset retVal.green = 0>
	<cfset retVal.blue = 0>

	<cfset arguments.color = trim(arguments.color)>
	<cfif len(arguments.color) is 0>
		<cfreturn retVal>
	<cfelseif listFind(namedColors, arguments.color) gt 0>
		<cfset arguments.color = listGetAt(namedColorsHexValues, listFind(namedColors, arguments.color))>
	</cfif>
	<cfif left(arguments.color,1) eq "##">
		<cfset arguments.color = right(arguments.color,len(arguments.color)-1)>
	</cfif>
	<cfif len(arguments.color) neq 6>
		<cfreturn retVal>
	<cfelse>
		<cftry>
			<cfset retVal.red = InputBaseN(mid(arguments.color,1,2),16)>
			<cfset retVal.green = InputBaseN(mid(arguments.color,3,2),16)>
			<cfset retVal.blue = InputBaseN(mid(arguments.color,5,2),16)>
			<cfcatch type="any">
				<cfset retVal.red = 0>
				<cfset retVal.green = 0>
				<cfset retVal.blue = 0>
				<cfreturn retVal>
			</cfcatch>
		</cftry>
	</cfif>
	<cfreturn retVal>
</cffunction>

<cffunction name="throw" access="private" output="false" returnType="struct">
	<cfargument name="detail" type="string" required="yes">
	<cfargument name="force" type="boolean" required="no" default="no">

	<cfset var retVal = StructNew()>

	<cfif variables.throwOnError or arguments.force>
		<cfthrow detail="#arguments.detail#" message="#arguments.detail#">
	<cfelse>
		<cfset retVal.errorCode = 1>
		<cfset retVal.errorMessage = arguments.detail>
		<cfreturn retVal>
	</cfif>
</cffunction>

<cffunction name="debugDump" access="private">
	<cfdump var="#arguments#"><cfabort>
</cffunction>

<cffunction name="convertImageObject" access="private" output="false" returnType="any">
	<cfargument name="bImage" type="Any" required="yes">
	<cfargument name="type" type="numeric" required="yes">

	<cfscript>
	// convert the image to a specified BufferedImage type and return it

	var width = bImage.getWidth();
	var height = bImage.getHeight();
	var newImage = createObject("java","java.awt.image.BufferedImage").init(javacast("int",width), javacast("int",height), javacast("int",type));
	// int[] rgbArray = new int[width*height];
	var rgbArray = variables.arrObj.newInstance(variables.intClass, javacast("int",width*height));

	bImage.getRGB(
		javacast("int",0),
		javacast("int",0),
		javacast("int",width),
		javacast("int",height),
		rgbArray,
		javacast("int",0),
		javacast("int",width)
		);
	newImage.setRGB(
		javacast("int",0),
		javacast("int",0),
		javacast("int",width),
		javacast("int",height),
		rgbArray,
		javacast("int",0),
		javacast("int",width)
		);
	return newImage;
	</cfscript>

</cffunction>

</cfcomponent>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩综合小视频| 国产精品沙发午睡系列990531| 亚洲综合999| 中文字幕欧美激情| av一本久道久久综合久久鬼色| 国产精品久久久久久久浪潮网站 | 粉嫩绯色av一区二区在线观看 | 美女高潮久久久| 精品少妇一区二区三区视频免付费| 久久99精品国产麻豆婷婷| 久久一日本道色综合| 国产99久久久国产精品潘金| 中文字幕一区二区三区在线观看| 91免费在线看| 图片区日韩欧美亚洲| 精品国产a毛片| www.一区二区| 日韩精品成人一区二区三区| www亚洲一区| 99久久久国产精品| 丝袜美腿高跟呻吟高潮一区| 久久欧美中文字幕| 91一区二区三区在线观看| 日韩激情中文字幕| 国产亚洲欧美色| 欧美日本一区二区在线观看| 国产美女在线精品| 亚洲成人精品影院| 国产亚洲精久久久久久| 欧美在线观看视频在线| 国产剧情av麻豆香蕉精品| 亚洲精品免费在线播放| 久久尤物电影视频在线观看| 91色视频在线| 国产乱人伦精品一区二区在线观看 | 亚洲在线视频网站| 欧美精品一区二区三| 色先锋aa成人| 韩国v欧美v亚洲v日本v| 亚洲一区二区在线视频| 久久久不卡网国产精品二区| 欧美性猛交xxxxxx富婆| 国产精品一二三区| 日本欧美一区二区三区乱码| 亚洲欧美日韩久久精品| 久久久久久**毛片大全| 欧美精品在线视频| heyzo一本久久综合| 国产美女久久久久| 欧美aⅴ一区二区三区视频| 亚洲欧美激情小说另类| 久久精品一区四区| 精品成人一区二区| 欧美日韩国产一级片| 色综合久久久久| 丁香网亚洲国际| 国产一区二区三区四| 日本成人在线看| 亚洲444eee在线观看| 亚洲人吸女人奶水| 国产主播一区二区三区| 日本aⅴ亚洲精品中文乱码| 在线成人高清不卡| 黄色日韩网站视频| 日日嗨av一区二区三区四区| 亚洲欧美国产高清| 综合久久综合久久| 久久久国产午夜精品| 亚洲精品一区二区三区福利| 欧美浪妇xxxx高跟鞋交| 日本乱码高清不卡字幕| 豆国产96在线|亚洲| 国产福利一区在线| 国产裸体歌舞团一区二区| 久久99精品久久久久久动态图| 亚洲一区二区三区四区在线免费观看 | 国产在线不卡一区| 麻豆久久久久久久| 蜜桃av噜噜一区二区三区小说| 亚洲v中文字幕| 亚洲成av人片在线| 视频一区视频二区中文字幕| 亚洲国产美国国产综合一区二区| 亚洲欧美日韩一区| 亚洲乱码中文字幕| 亚洲国产一区二区三区青草影视| 一区二区三区四区蜜桃 | 亚洲国产精品久久不卡毛片| 亚洲乱码精品一二三四区日韩在线| 国产精品超碰97尤物18| 亚洲欧洲精品一区二区精品久久久| 中文字幕一区二区5566日韩| **网站欧美大片在线观看| 亚洲免费av在线| 亚洲不卡在线观看| 久久99精品国产91久久来源| 国内精品国产成人国产三级粉色| 欧美一区二区视频网站| 欧美成人一区二区三区片免费 | 久久久久久夜精品精品免费| 亚洲精品一区二区三区福利 | 性久久久久久久| 美女视频黄久久| 国产精品一区二区你懂的| 国产成人综合视频| 91免费版pro下载短视频| 日本精品视频一区二区| 欧美男女性生活在线直播观看| 日韩欧美的一区二区| 欧美tk—视频vk| 国产精品污www在线观看| 亚洲一卡二卡三卡四卡无卡久久 | 国产成人精品三级| 成人精品在线视频观看| 午夜精品久久久久影视| 精品一区二区在线看| 国产成人在线视频网址| 色8久久精品久久久久久蜜| 日韩欧美一级片| 国产精品私人自拍| 一区二区三区久久| 狠狠色丁香久久婷婷综| 99在线视频精品| 在线不卡一区二区| 天堂一区二区在线| 极品尤物av久久免费看| 色综合久久88色综合天天6| 日韩一区二区三区av| 国产精品网站在线| 日本午夜精品视频在线观看 | 久久久久国产精品麻豆ai换脸| 亚洲色图一区二区| 激情丁香综合五月| 欧美又粗又大又爽| 久久九九99视频| 日韩中文字幕av电影| 成人av免费在线| 26uuu国产一区二区三区| 亚洲自拍偷拍网站| 99久久久无码国产精品| 26uuu亚洲| 日精品一区二区| 色婷婷综合激情| 中文字幕 久热精品 视频在线| 日韩一区精品字幕| 91精品福利在线| 久久精品在线免费观看| 免费日韩伦理电影| 在线观看日韩高清av| 中文字幕精品一区二区精品绿巨人| 日本一不卡视频| 欧美精品自拍偷拍动漫精品| 国产精品无圣光一区二区| 国内精品嫩模私拍在线| 欧美日韩国产不卡| 亚洲一卡二卡三卡四卡| 91福利精品第一导航| 国产精品久久久久久久浪潮网站| 国产一区二区福利视频| 91精品国产美女浴室洗澡无遮挡| 一区二区高清在线| 91啪亚洲精品| 1024亚洲合集| 99vv1com这只有精品| 国产精品国产a| 波多野结衣的一区二区三区| 国产天堂亚洲国产碰碰| 国产成人综合在线观看| 国产日韩欧美一区二区三区乱码 | 久久se精品一区二区| 欧美精品亚洲二区| 亚洲成人免费观看| 8v天堂国产在线一区二区| 亚洲成人免费视频| 日韩欧美在线不卡| 看电视剧不卡顿的网站| 精品久久人人做人人爱| 韩国av一区二区| 国产欧美一区二区精品秋霞影院| 国产酒店精品激情| 国产欧美精品一区aⅴ影院| 国产91在线|亚洲| 国产精品国产三级国产有无不卡| av在线一区二区| 亚洲男帅同性gay1069| 欧美亚洲综合另类| 午夜久久久影院| 精品久久国产老人久久综合| 国产在线国偷精品免费看| 国产精品天干天干在线综合| 成人av手机在线观看| 一级特黄大欧美久久久| 欧美日韩成人综合在线一区二区| 日本在线观看不卡视频| 亚洲精品一区二区在线观看| 国内精品第一页| 亚洲色图在线视频| 91精品国产入口| 成人一道本在线| 亚洲国产综合人成综合网站|