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

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

?? image.cfc

?? 開源的HTML文本編輯器
?? 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一区二区三区免费野_久草精品视频
日韩欧美国产1| 亚洲国产一二三| 亚洲自拍偷拍综合| 久热成人在线视频| 96av麻豆蜜桃一区二区| 精品欧美一区二区在线观看| 亚洲欧美区自拍先锋| 国产一区二区看久久| 欧美日韩成人激情| 亚洲视频在线观看三级| 韩国女主播一区二区三区| 精品嫩草影院久久| 日韩在线卡一卡二| 欧洲激情一区二区| 一区二区三区四区不卡在线| 国产99久久久国产精品| 精品美女在线播放| 免费久久99精品国产| 欧美日韩国产中文| 一区二区三区在线观看欧美| 成人精品在线视频观看| 久久美女高清视频| 国产一区二区三区综合| 日韩欧美的一区| 奇米影视一区二区三区| 51精品视频一区二区三区| 亚洲一二三四在线观看| 91香蕉视频mp4| 亚洲女与黑人做爰| 99re热这里只有精品免费视频| 国产目拍亚洲精品99久久精品| 精彩视频一区二区三区| 精品国产乱码久久| 精彩视频一区二区| 国产亚洲精品7777| 成人三级在线视频| 中文字幕人成不卡一区| 色网站国产精品| 亚洲高清在线视频| 日韩精品最新网址| 国产一区二区0| 久久免费电影网| 国产成a人亚洲| 国产精品传媒在线| 99国产精品99久久久久久| 亚洲欧美日韩国产综合| 欧美丝袜丝交足nylons图片| 三级一区在线视频先锋| 精品国产免费人成电影在线观看四季| 国产激情一区二区三区四区| 中文字幕不卡在线| 91香蕉视频mp4| 日韩av中文字幕一区二区 | 99久久er热在这里只有精品66| 中文在线一区二区| 在线这里只有精品| 日本v片在线高清不卡在线观看| 精品国产乱码91久久久久久网站| 高清不卡在线观看av| 一区二区三区四区乱视频| 538prom精品视频线放| 国产成人综合网站| 亚洲自拍偷拍综合| 久久午夜电影网| 99热99精品| 麻豆视频观看网址久久| 中文字幕一区免费在线观看| 欧洲日韩一区二区三区| 国产精选一区二区三区| 一区二区三区在线播放| 精品久久99ma| 在线观看免费一区| 国产精品影视天天线| 亚洲靠逼com| 国产欧美一区二区精品性色| 欧美在线你懂得| 成人性生交大片免费看中文网站| 亚洲福利视频一区二区| 日本一区二区三区视频视频| 在线看国产一区| 成人深夜视频在线观看| 日本道色综合久久| 韩国精品免费视频| 亚洲一区在线观看免费观看电影高清| 精品国产乱子伦一区| 欧美亚洲动漫制服丝袜| 成人精品一区二区三区四区| 免费观看日韩av| 亚洲国产精品自拍| 17c精品麻豆一区二区免费| 欧美一级生活片| 91一区二区三区在线播放| 国产成人高清在线| 激情深爱一区二区| 日韩电影在线免费观看| 亚洲三级电影网站| 国产精品久久久久久久第一福利 | 婷婷国产v国产偷v亚洲高清| 综合久久国产九一剧情麻豆| 久久影院午夜片一区| 精品久久久久久久久久久久久久久久久| 色香色香欲天天天影视综合网| 国产激情视频一区二区在线观看 | 国内精品伊人久久久久影院对白| 亚洲一区二区在线视频| 亚洲一区二区五区| 一区二区三区四区不卡在线 | a级精品国产片在线观看| 国产一区高清在线| 久久精品国产亚洲5555| 免费成人在线视频观看| 日韩精品久久久久久| 亚洲国产另类精品专区| 99久久国产综合色|国产精品| 国产成人在线免费| 成人午夜av电影| 成人福利在线看| 成人黄色综合网站| 99精品久久只有精品| 91热门视频在线观看| 91成人网在线| 欧美日韩国产高清一区二区| 欧美视频精品在线| 欧美一区二区私人影院日本| 在线成人小视频| 欧美电影免费观看高清完整版 | 欧美一卡二卡在线观看| 日韩视频免费直播| 久久久亚洲精品石原莉奈| 国产视频一区二区在线| 亚洲欧洲中文日韩久久av乱码| 亚洲一区在线免费观看| 日韩电影在线一区| 国产夫妻精品视频| 91丝袜美腿高跟国产极品老师 | 中文字幕字幕中文在线中不卡视频| 中文无字幕一区二区三区| 亚洲色图丝袜美腿| 奇米888四色在线精品| 欧美日韩日日摸| 2021中文字幕一区亚洲| 亚洲视频在线一区| 麻豆91小视频| 不卡的av网站| 欧美日韩一级二级| 久久久www免费人成精品| 亚洲色图一区二区三区| 免费在线观看一区| 99在线精品视频| 日韩美女视频一区二区在线观看| 国产拍欧美日韩视频二区| 亚洲已满18点击进入久久| 激情综合网最新| 色av综合在线| 久久蜜桃一区二区| 午夜精品一区二区三区电影天堂| 国产乱码精品一区二区三区av | 免费观看久久久4p| 91玉足脚交白嫩脚丫在线播放| 91精品国产一区二区三区蜜臀| 国产精品福利一区| 国产伦精品一区二区三区免费| 91国产成人在线| 国产片一区二区| 久久精品久久综合| 欧美日产国产精品| 亚洲视频 欧洲视频| 国产盗摄女厕一区二区三区| 欧美日韩精品欧美日韩精品一| 欧美激情在线看| 麻豆一区二区三区| 在线电影欧美成精品| 亚洲精品国产精华液| 国产suv一区二区三区88区| 日韩视频免费观看高清完整版在线观看 | 91影视在线播放| 久久久精品日韩欧美| 蜜桃av噜噜一区| 欧美精选午夜久久久乱码6080| 综合久久久久久| 成人午夜大片免费观看| 久久久不卡网国产精品二区 | 久久亚洲一级片| 日韩激情av在线| 欧美伦理影视网| 亚洲中国最大av网站| 色偷偷久久人人79超碰人人澡| 欧美激情一区二区三区蜜桃视频| 久久精品国内一区二区三区| 欧美日韩一区三区四区| 亚洲综合999| 欧美性猛片aaaaaaa做受| 亚洲精品国久久99热| 色诱视频网站一区| 一区二区三区在线视频播放| 91美女精品福利| 亚洲黄色免费网站| 欧美在线观看18| 性久久久久久久久久久久| 欧美日韩国产另类一区|