C#学习-图片的处理
1.在图片上加防伪标记
private void btnAddString_Click(object sender, EventArgs e)
{
//以流的方式,获取一张图片
using (FileStream reader=new FileStream(@"H:/img/1.jpg",FileMode.OpenOrCreate,FileAccess.Read))
{
//通过流创建一个Image对象
using (Image img=Image.FromStream(reader))
{
//通过Image,创建一个画布
Graphics g = Graphics.FromImage(img);
//在画布上,画一个字符串
g.DrawString("我是有版权的",new Font("华文彩云",20,FontStyle.Bold),Brushes.Black,0,0 );
//保存,本机的物理路径 或 根目录下为“\”
img.Save(@"H:/img/new/1.jpg");
}
}
MessageBox.Show("ok");
}
2.对图片进行等比例缩放
private void btnImgCut_Click(object sender, EventArgs e)
{
//获取一张图片,得到一个流
using (FileStream reader = new FileStream(@"H:/img/1.jpg", FileMode.OpenOrCreate, FileAccess.Read))
{
//通过流,创建一个Image对象
using (Image img = Image.FromStream(reader))
{
//缩放后的宽度
int newWidth = (int)img.Width/2;
//缩放后的高度
int newHeight = (int)img.Height/2;
//创建一张新的空图片
Image newImage = new Bitmap(newWidth, newHeight);
//创建一张画布
Graphics g = Graphics.FromImage(newImage);
//在 新 画布上画上 图片
g.DrawImage(img,new Rectangle(0,0,newImage.Width,newImage.Height),new Rectangle(0,0,img.Width,img.Height),GraphicsUnit.Pixel );
//保存
newImage.Save(@"H:/img/new/1n.jpg");
}
}
MessageBox.Show("ok");
}
C#学习-图片的处理的更多相关文章
- iOS学习——图片压缩到指定大小以内
一.图片压缩简述 在我们开发过程中,有可能会遇到拍照.或者从相册中选择图片,要么单选或者多选,然后上传图片到服务器,一般情况下一张图片可能3-4M,如果类似微信朋友圈上传9张图片大约是 35M左右,如 ...
- Java多线程学习——图片下载
实现多线程方式1:继承类Thread——重写方法run——调用方法start 从网络下载图片首先要增加包commons-io.jar import org.apache.commons.io.File ...
- android 基础学习图片六progross
加载进度条应用
- Android图片开发内幕--基础篇
前言:本来我是做电视应用的,但是因为公司要出手机,人员紧张,所以就抽调我去支援一下,谁叫俺是雷锋呢!我做的一个功能就是处理手机中的应用ICON,处理无非就是美化一下,重新与底板进行合成和裁剪,用到了很 ...
- lecture14-RBM的堆叠、修改以及DBN的决策学习和微调
这是Hinton的第14课,主要介绍了RBM和DBN的东西,这一课的课外读物有三篇论文<Self-taught learning- transfer learning from unlabele ...
- Xamarin.Forms入门学习路线
Xamarin 介绍 Xamarin是一套跨平台解决方案,目的是使用C#语言创造原生的iOS,Android,Mac和Windows应用. Xamarin的三个优势: Xamarin App拥有原生A ...
- Android 图片开发内幕系列第一篇
前言:本来我是做电视应用的,但是因为公司要出手机,人员紧张,所以就抽调我去支援一下,谁叫俺是雷锋呢!我做的一个功能就是处理手机中的应用ICON,处理无非就是美化一下,重新与底板进行合成和裁剪,用到了很 ...
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料【转】
转自:机器学习(Machine Learning)&深度学习(Deep Learning)资料 <Brief History of Machine Learning> 介绍:这是一 ...
- ThinkPHP图片上传
ThinkPHP是国内比较流行的轻量级的PHP框架,它在国内流行的一个最主要的因素在于它的说明文档非常健全完善,以及它源码内的注释都是中文的,方便于英语能力较差的程序员学习. 图片上传在网站里是很常用 ...
随机推荐
- 充当别的mcu的外部存储器(51类)
// 锁存地址 - STC12C5A60S2 reg [15:0]rAddr_51; //存放51单片机传过来的地址 读51地址寄存器 always @ (posedge MCLKout or neg ...
- Leetcode 68.文本左右对齐
文本左右对齐 给定一个单词数组和一个长度 maxWidth,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本. 你应该使用"贪心算法"来放置给定的单 ...
- nyoj 108 士兵杀敌(一)
士兵杀敌(一) 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 南将军手下有N个士兵,分别编号1到N,这些士兵的杀敌数都是已知的. 小工是南将军手下的军师,南将军现在 ...
- linux命令与技巧
1.模糊查询:find / -name '*Eclipse*'2.获得管理员权限:sudo -i
- 临时起异,要进入C++领域耍一个程序
没办法.两周之内可以搞定吧. 就一个SESSION 0的问题. 网上有类似源码,调一下应该就可以吧..保佑顺利. 基本语法都还记得,快N年啦... #include <iostream> ...
- T1080 线段树练习 codevs
http://codevs.cn/problem/1080/ 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 一行N个方 ...
- System.out.print()思考?
System.out.print()思考 问题? System.out.pritln(); 中是包名.类名.方法名吗? 解释: Syste ...
- srvctl error
Hit an strange error just now. [oracle@racnode1 ~]$ srvctl # # An unexpected error has been detected ...
- mysql模糊查询语句
select * from tbl_actor where first_char like 'p%' order by first_char;
- 【翻译自mos文章】rman 标准版和企业版的兼容性
rman 标准版和企业版的兼容性 来源于: RMAN Standard and Enterprise Edition Compatibility (文档 ID 730193.1) 适用于: Oracl ...