04asp.net==========改变水印的透明度

public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
           //1:接收发送过来的文件的数据.
            HttpPostedFile file =context.Request.Files["Filedata"];
            string fileName = Path.GetFileName(file.FileName);//文件名称
            string fileExt = Path.GetExtension(fileName).ToLower();//扩展名.
            string waterFile = context.Server.MapPath("/Images/error.jpg");//用来做水印的图片
            if (fileExt == ".jpg")
            {
                //创建不同的文件夹保存上传的文件.
                string dir = "/ImageUpload/"+DateTime.Now.Year+"/"+DateTime.Now.Month+"/"+DateTime.Now.Day+"/";
                Directory.CreateDirectory(Path.GetDirectoryName(context.Server.MapPath(dir)));
                //要对上传的文件进行重命名.(file.InputStream:获取上传文件的文件流)
                string fullDir = dir +Common.WebCommon.GetStreamMD5(file.InputStream)+ fileExt;
                using (Image img = Image.FromStream(file.InputStream))//指定上传的图片
                {
                    using (Bitmap map = new Bitmap(img.Width, img.Height))//创建画布
                    {
                        using (Graphics g = Graphics.FromImage(map))//为画布创建画笔.
                        {
                            using (Image waterImage = Image.FromFile(waterFile))
                            {
                                g.DrawImage(img, new Point(0,0));//将上传的图片画在了画布上.
                                //在大图上画水印图片,第二个参数;在什么位置开始画,画多么大。
                                //后面:画哪一部分.
                                g.DrawImage(waterImage, new Rectangle(img.Width - waterImage.Width, img.Height - waterImage.Height, waterImage.Width, waterImage.Height), 0, 0, waterImage.Width, waterImage.Height, GraphicsUnit.Pixel, SetImageAttr(50));//使用调整后的图片的颜色或透明度信息开始画图片.
                                map.Save(context.Server.MapPath(fullDir));//保存图片
                                context.Response.Write("ok:" + fullDir);
                            }
                        }

                    }
                }

                //file.SaveAs(context.Server.MapPath(fullDir));
                //context.Response.Write("ok:"+fullDir);
                //可以缩略图.
                //file.SaveAs(context.Server.MapPath("/ImageUpload/"+fileName));
                //context.Response.Write("ok:/ImageUpload/" + fileName);
            }

        }

        public ImageAttributes SetImageAttr(float ff)
        {
            //定义矩阵:RGBAW
            float[][] f = {
                          new float[]{ff/100f,0,0,0,0},
                           new float[]{0,1,0,0,0},
                            new float[]{0,0,1,0,0},
                             new float[]{0,0,0,1,0},
                              new float[]{0,0,0,0,1}
                          };
            ColorMatrix colorMatrix = new ColorMatrix(f);//使用自己定义的矩阵。
            ImageAttributes imageAttr = new ImageAttributes();//指定了图像的颜色的信息
            imageAttr.SetColorMatrix(colorMatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);//用我们自己定义的矩阵跳转图片的颜色信息。
            return imageAttr;
        }

  

时间: 2024-10-10 03:50:20

04asp.net==========改变水印的透明度的相关文章

关于C#对图片部分操作(水印、透明度)

/// <summary> /// 处理水印图片的水印 /// </summary> /// <param name="path">带有水印的图片路径</param> /// <returns>返回处理好水印的图片</returns> private Image OperationPhoto(string path) { Image image = null; XMLCollectPhotoSet xMLColle

IE8下jQuery改变png图片透明度时出现的黑边问题

png24格式的图片在用jQuery添加显示隐藏动画时发现,图片的半透明区域出现黑边? 在网上搜了搜主要有以下几种办法: 1.把图片保存成PNG-8格式. 2.把背景色一起切入并保存为JPG格式. 以上两种方法我试了试,好像效果并不好png8格式仍就会有黑边. 解决方法: 1.不要直接改变图片的透明度,而是给图片套个容器,去修改这个容器的透明度 2.给这个容器加个颜色相近的背景颜色(非常重要,解决bug的关键就在这一步,) 一般情况下,到此bug就解决了,如果还是有问题,请看下面: 3.给容器加

改变图片的透明度,图片自适应屏幕

改变图片的透明度 float speed=0.2f; float starttime; void Start () { starttime = Time.time; } void Update() { GUITexture.color.a = Mathf.Lerp (0, 1, (Time.time - starttime) * speed); } --------------------------------------------------------------------- 图片自适

html中如何使得改变背景的透明度时,背景上的文字透明度不被改变

1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 2 "http://www.w3.org/TR/html4/loose.dtd"> 3 <html> 4 <head> 5 <title></title> 6 <style type="text/css"> 7 .div1{ 8 width: 15

动态 改变导航栏透明度

#pragma mark - 实现代理方法  UINavigationBarDelegate 改变导航栏的颜色等功能 - (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated { self.navigationController.naviga

C#给图片加水印,可设置透明度

C#给图片加水印,可设置透明度,设置水印的位置可以看一下上一篇哈 /// <summary> /// Creating a Watermarked Photograph with GDI+ for .NET /// </summary> /// <param name="rSrcImgPath">原始图片的物理路径</param> /// <param name="rMarkImgPath">水印图片的物理

CSS只改变背景透明度,不改变子元素透明度

一般情况下,我们可以使用css的opcity属性改变某个元素的透明度,但是其元素下的子元素的透明度也会被改变,即使对子元素重新定义也没有用,例如: Html代码   <div style="opacity:0.4; background-image:url(...);"> <div style="opacity:1.0;"> 显示文字 </div> </div> 文字元素的透明度也会是0.4. 于是想一想,如果有方法只

仿百度手机助手标题栏透明度随ListView或ScrollView滚动改变的实现方法

有时做项目遇到ListView或ScrollView上方加图片和标题栏布局,在滚动时要求改变标题栏的透明度,即上滑标题栏出现,下拉标题栏变透明,类似百度手机助手6.0装机必备界面效果 要实现这种标题栏透明度随滚动渐变的动画很简单,我们只需要实现onScroll方法就可以,完成对HeaderView的位置检测,然后通过HeaderView的高度和显示的高度来计算比例,设置TitleBar的背景图片的透明度即可,此种实现方法与FadingActionBar是不同的.详细实现源码如下: public

android脚步---简单图片浏览器改变图像透明度

图片浏览器调用ImageView的setAlpha方法来实现改变图片透明度. main.xml文件如下:三个按钮,两个imageview,,界面定义了两个ImageView,一个是显示局部图片的ImageView,android:scaleType="fitCenter表明图片会保持横纵比缩放,并将缩放后图片放在该imageview中央. <?xml version="1.0" encoding="utf-8"?> <LinearLayo