订金不给退找什么部门:c#.net 网页和图片水印字体大小如何绝对相同的一个问题

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 09:37:20
我在图片上画水印文字....但是大小定义不好

我想达到的效果是.在WEB页面上的TEXTBOX里面输入多大的字,打到图片上的就是多大的,不会变化

后来发现
System.Drawing.Font f=new Font("隶书",size);
这个size不能定义成 pt 只有em可以选择

结果就是网页上的文本框输入的字体大小无法跟图片上打印的大小一样

不知道有什么办法帮帮我

我把网页上的字体大小用pt px em 等格式都定义过了,,,可是还是大小不一样

请问.能不能想办法把图片上的字体大小也定义成pt

我用的是2.0
关键是图片的大小要用PT来定义,,为了和网页上显示的一样大...这样才有效果

还有,能不能顺便解决下给GIF加水印..动画的哦
这个问题回答,+100分

重点:我主要是想了解大小控制的问题.要和网页上显示的大小一致..最好是C#实现的

c#.net不是很了解。看你用的是system.drawing,应该是系统的命名空间,可能.net自带的图片处理不是很强?我用asp一般用aspjpeg来处理水印的,在c#里也可以用,处理能力较强。可以设置水印文字大小,颜色,字体等。也支持图片水印,用起来很简单。它有一个英文的说明页面,不过看起来很容易的,以下是其中文字水印的一段,适合c#:
<script runat="server" LANGUAGE="C#">
void Page_Load(Object Source, EventArgs E)
{
ASPJPEGLib.IASPJpeg objJpeg;
objJpeg = new ASPJPEGLib.ASPJpeg();

// Compute path to source image
String strPath = Server.MapPath("../images/dodge_viper.jpg");

// Open source image
objJpeg.Open( strPath );

// Resizing is optional. None in this code sample.

// Draw text
objJpeg.Canvas.Font.Color = 0xFF0000; // red
objJpeg.Canvas.Font.Family = "Courier New";
objJpeg.Canvas.Font.Bold = 1; // True
objJpeg.Canvas.Font.Size = 12; //这里是字体大小,单位px。一般网页12px和14px居多。12px显示大小和9pt一样大。
objJpeg.Canvas.Font.Quality = 4; // Antialiased
objJpeg.Canvas.Font.BkMode = "Opaque"; // For antialiasing work
objJpeg.Canvas.Print( 10, 572, "Copyright (c) XYZ, Inc.", Missing.Value );

// Draw frame: black, 2-pixel width
objJpeg.Canvas.Pen.Color = 0x000000; // Black
objJpeg.Canvas.Pen.Width = 2;
objJpeg.Canvas.Brush.Solid = 0; // false, to avoid solid bar
objJpeg.Canvas.DrawBar( 1, 1, objJpeg.Width, objJpeg.Height );

objJpeg.Save( Server.MapPath("dodge_viper_framed.jpg") );

FramedImage.Src = "dodge_viper_framed.jpg";
}
</script>

目前公用的组件支持动态GIF的我找了N年没找到。有支持透明背景的水印就不错了。aspjpeg不支持透明图片水印。xygraphic支持透明(国人作品)。不过整体看起来,ASPJPEG要强大一点,xygraphic小东西很多,比方支持图片的ascii输出。

不知道的话,就别想了