C#或者Android asp.net给图片加上水印,

本文介绍了使用C#和Android进行图片处理的方法,包括在图片上添加当前时间的水印并保存,以及从Android图片中读取Exif信息。


C# Code

     private void Form1_Load(object sender, EventArgs e)
        {
            Bitmap bmp = new Bitmap("E://Android tools//dome//WindowsFormsApplication1//WindowsFormsApplication1//Image//bmp.jpeg");         
            Graphics graphics = Graphics.FromImage(bmp);         
            graphics.DrawString(DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss"), new Font("Arial", 32), new SolidBrush(Color.Green), bmp.Width - 420, bmp.Height - 60);
            string path = "./" + "Image/";
            if (File.Exists(path))
                File.Create(path);
            path+= DateTime.Now.ToString("hhmmss").Replace(" ", "") + ".jpeg";
            bmp.Save(path);
            bmp.Dispose();
        }

如下图:


Android Code mono C#

 public byte[] BitmapBytes(Bitmap bimp,string path)
        {
            Bitmap newb = null;
            string date = "";
            if (bimp != null)
            {
                try
                {

                    //取得图片属于信息
                    ExifInterface exif = new ExifInterface(path);
                    if (exif != null)
                    {
                    date = exif.GetAttribute("DateTime") !=""?System.Convert.ToDateTime(exif.GetAttribute("DateTime")).ToString("yyyy/MM/dd hh:mm:ss") : "";
                    }
                }
                catch
                {
                    throw;
                }               


                int w = bimp.Width;
                int h = bimp.Height;
                Paint p = new Paint();
                p.Color = Color.Green;                
                p.TextSize = 12;
                Typeface font = Typeface.Create("Arial", TypefaceStyle.Normal);
                p.SetTypeface(font); 

               //创建一个一模一样的位图的底图
                newb = Bitmap.CreateBitmap(w,h,Bitmap.Config.Argb8888);
                Canvas cv = new Canvas(newb);

                //复制原图
                cv.DrawBitmap(bimp, 0, 0, null);        

                //打上水印日期      
                cv.DrawText(date, w-160, h -20, p);               
                cv.Save(SaveFlags.All);
                cv.Restore();
            }
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            newb.Compress(Bitmap.CompressFormat.Jpeg, 100, ms);           
            return ms.ToArray();
        }



计及风电并网运行的微电网及集群电动汽车综合需求侧响应的优化调度策略研究(Matlab代码实现)内容概要:本文研究了计及风电并网运行的微电网及集群电动汽车综合需求侧响应的优化调度策略,并提供了基于Matlab的代码实现。研究聚焦于在高渗透率可再生能源接入背景下,如何协调微电网内部分布式电源、储能系统与大规模电动汽车充电负荷之间的互动关系,通过引入需求侧响应机制,建立多目标优化调度模型,实现系统运行成本最小化、可再生能源消纳最大化以及电网负荷曲线的削峰填谷。文中详细阐述了风电出力不确定性处理、电动汽车集群充放电行为建模、电价型与激励型需求响应机制设计以及优化求解算法的应用。; 适合人群:具备一定电力系统基础知识和Matlab编程能力的研究生、科研人员及从事新能源、微电网、电动汽车等领域技术研发的工程师。; 使用场景及目标:①用于复现相关硕士论文研究成果,深入理解含高比例风电的微电网优化调度建模方法;②为开展电动汽车参与电网互动(V2G)、需求侧响应等课题提供仿真平台和技术参考;③适用于电力系统优化、能源互联网、综合能源系统等相关领域的教学与科研项目开发。; 阅读建议:建议读者结合文中提供的Matlab代码进行实践操作,重点关注模型构建逻辑与算法实现细节,同时可参考文档中提及的其他相关案例(如储能优化、负荷预测等),以拓宽研究视野并促进交叉创新。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值