自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (25)
  • 收藏
  • 关注

原创 怎么吃冰激凌才不会长胖的知识最好的方法好方法

E以及钙、钾、锌等微量元素, 点击图片进入下一页>>      首先我们要了解一下冰淇淋的成分以及热量   经有关专家测定,100克冰淇淋中含水分74.4克、蛋白质2.4克、脂肪5.3克、糖17.3克。女孩子全吃下去的话,或者是坚果类的配料,此外,现在许多地方吃冰激凌都会加上一些饼干、威化类的配料来增加冰激凌的风味,     一个冰激凌等于5碗饭   多数人吃冰品考虑的第一位都是口感,其实。睡觉前也千万不要吃冰激凌,营养学家建议最好是喝:南瓜汁、红薯汁等粗纤维饮品,吃冰激凌尽量保证在上、下午吃,因为粗纤维可

2010-01-06 09:15:00 293

原创 盘点减肥时能吃的1种零食的减肥知识的减肥知识的正确方法

食并不是人人都适宜吃的。最好还是不吃零食了,如果你无法抗拒那些有损健康的垃圾食物。 点击图片进入下一页>>   而选零食的基本原则是要含丰富的营养素,糖分和脂肪相对较低。比如低脂乳酪、含粗纤维的饼干或一般的巧克力饼干、不太甜的面包和三明治等等零食。提子、杏脯、无花果等干果也是很好的选择,如果不是很饥饿零食。还有苹果片或香蕉片,此外零食。不仅营养损失小,但并非油炸而成,多吃不会导致发胖,而是经过高温烘制,将水果的水分烘干,脂肪和热量也较低,这些食物吃起来又香又脆零食。”   下边编辑将为你盘点几类减肥时能吃

2010-01-06 09:07:00 274

原创 减肥从饮食细节抓起

“真饿了”才吃 先发“制”食欲 让食物“看不见”   一旦饥饿感来袭,先弄清楚自己到底是“真”饿,还是嘴巴馋?   有一个简单的分辨方法:生理上的饥饿是逐渐形成的,比如,还是“假”饿——究竟是真的饿,通常发生在一顿饭后3个小时以上,肚子“咕噜咕噜”地叫。这时候,可喝水来缓解饥饿。一旦吃饱后饥饿感就会消失,感到心满意足。   而情感上的饥饿感则是突然产生的,不定时会发作节抓。但真吃完了,即使喝了一整杯水或者吃了一堆东西之后仍然存在,比如:“突然想吃冰淇淋、巧克力”的念头,又可能会产生“吃了不该吃的东西”的罪恶

2010-01-06 09:07:00 271

原创 盘点减肥时能吃的1种零食的减肥知识的减肥知识的正确方法

食并不是人人都适宜吃的。最好还是不吃零食了,如果你无法抗拒那些有损健康的垃圾食物。 点击图片进入下一页>>   而选零食的基本原则是要含丰富的营养素,糖分和脂肪相对较低。比如低脂乳酪、含粗纤维的饼干或一般的巧克力饼干、不太甜的面包和三明治等等零食。提子、杏脯、无花果等干果也是很好的选择,如果不是很饥饿零食。还有苹果片或香蕉片,此外零食。不仅营养损失小,但并非油炸而成,多吃不会导致发胖,而是经过高温烘制,将水果的水分烘干,脂肪和热量也较低,这些食物吃起来又香又脆零食。”   下边编辑将为你盘点几类减肥时能吃

2010-01-06 09:05:00 298

原创 减肥从饮食细节抓起

“真饿了”才吃 先发“制”食欲 让食物“看不见”   一旦饥饿感来袭,先弄清楚自己到底是“真”饿,还是嘴巴馋?   有一个简单的分辨方法:生理上的饥饿是逐渐形成的,比如,还是“假”饿——究竟是真的饿,通常发生在一顿饭后3个小时以上,肚子“咕噜咕噜”地叫。这时候,可喝水来缓解饥饿。一旦吃饱后饥饿感就会消失,感到心满意足。   而情感上的饥饿感则是突然产生的,不定时会发作节抓。但真吃完了,即使喝了一整杯水或者吃了一堆东西之后仍然存在,比如:“突然想吃冰淇淋、巧克力”的念头,又可能会产生“吃了不该吃的东西”的罪恶

2010-01-06 09:02:00 190

原创 减肥从饮食细节抓起

“真饿了”才吃 先发“制”食欲 让食物“看不见”   一旦饥饿感来袭,先弄清楚自己到底是“真”饿,还是嘴巴馋?   有一个简单的分辨方法:生理上的饥饿是逐渐形成的,比如,还是“假”饿——究竟是真的饿,通常发生在一顿饭后3个小时以上,肚子“咕噜咕噜”地叫。这时候,可喝水来缓解饥饿。一旦吃饱后饥饿感就会消失,感到心满意足。   而情感上的饥饿感则是突然产生的,不定时会发作节抓。但真吃完了,即使喝了一整杯水或者吃了一堆东西之后仍然存在,比如:“突然想吃冰淇淋、巧克力”的念头,又可能会产生“吃了不该吃的东西”的罪恶

2010-01-04 20:18:00 289

原创 减肥从饮食细节抓起

“真饿了”才吃 先发“制”食欲 让食物“看不见”   一旦饥饿感来袭,先弄清楚自己到底是“真”饿,还是嘴巴馋?   有一个简单的分辨方法:生理上的饥饿是逐渐形成的,比如,还是“假”饿——究竟是真的饿,通常发生在一顿饭后3个小时以上,肚子“咕噜咕噜”地叫。这时候,可喝水来缓解饥饿。一旦吃饱后饥饿感就会消失,感到心满意足。   而情感上的饥饿感则是突然产生的,不定时会发作节抓。但真吃完了,即使喝了一整杯水或者吃了一堆东西之后仍然存在,比如:“突然想吃冰淇淋、巧克力”的念头,又可能会产生“吃了不该吃的东西”的罪恶

2010-01-04 20:17:00 245

视频提取 合成 原始技能 视频分解成图在把图合并 和音频 底

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace addCrunch { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btnBrowseInput_Click(object sender, EventArgs e) { if (dlgOpenFile.ShowDialog(this

2024-08-27

Vnc c#版源码

Vnc c#版源码 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document,

2020-10-11

ocr识别源码 图像识别dll代码

/* #------------------------------------------------------------------------------- # Name: OCR - dual way pixel count normalized # # Usage: Load an image of a character (black character on white background). # Pressing the learn button will add the character to learned.txt # The OCR button will start the character recognition procedure during # wich the loaded image will be compared to learned characters. # # Requires: Visual Studio 2010 a

2019-11-14

c# 图片查找数字,查找颜色找文字,镂空的图片文字

#region 查找数字 /// /// 在指定区域里面查找数字 /// /// /// /// /// /// int FindNumbers(Dictionary numDic, string parPic, System.Drawing.Rectangle searchRect, byte errorRange=8, double matchRate = 0.9) { //同一个区域找到多个相同的图片

2019-11-14

c# 图像识别的轮廓分析 摄像头取图识别

c# 图像识别的轮廓分析 摄像头取图识别 string fileName = Path.GetDirectoryName(templateFile) + "\\" + found.template.name; if (!AugmentedRealityImages.ContainsKey(fileName)) { if (!File.Exists(fileName)) return; AugmentedRealityImages[fileName] = Image.FromFile(fileName); } Image img = AugmentedRealityImages[fileName]; Point p = found.sample.contour.SourceBoundingRect.Center(); var state = gr.Save();

2019-11-14

C# 显示两张图片相同部分 图像比较

Bitmap imgFrst = new Bitmap(pictureBox1.Image); Bitmap imgScnd = new Bitmap(pictureBox2.Image); int height = imgFrst.Height < imgScnd.Height ? imgFrst.Height : imgScnd.Height; int width = imgFrst.Width < imgScnd.Width ? imgFrst.Width : imgScnd.Width; Bitmap fussion=new Bitmap(width,height); for (int i = 0; i < fussion.Height; i++) { for (int j = 0; j < fussion.Width; j++) {

2019-11-14

C#全盘查找图片对比相识度 代码 源码

C#全盘查找图片对比相识度 代码 源码 private static void ShowProjections(Graph graph, ComparableImage comparable) { graph.ClearCurves(); graph.AddPlotCurve(Color.Red, comparable.Projections.HorizontalProjection); graph.AddPlotCurve(Color.Green, comparable.Projections.VerticalProjection); graph.Invalidate(); } #region "Start/stop search" private void FindButtonClick(object sender, EventArgs e) { var folder = fol

2019-11-14

ZTE F660 固件升级

ZTE F660_H248_V2.30.10P14T7_UPGRADE_BOOTLDR.zip 升级固件 很好用的直接可以在线升级http://192.168.1.1/getpage.gch?pid=1001&logout=1&hidden=upgrade 输入这个地址才能出现升级功能 管理账号telecomadmin密码nE7jA%5m

2020-01-22

c#vnc客户端源码

VncSharp -------- VncSharp is a Free and Open Source (GPL) implementation of the VNC Remote Framebuffer (RFB) Protocol for the .NET Framework. VNC (Virtual Network Computing) is a cross-platform client/server protocol allowing remote systems to be controlled over a network. VNC was originally devel

2020-10-11

大图找小图调用实例(源文件)vb.net

vb.net 源码 采用内存方式 大图找小图程序 在网上找不到现成的,不是收费就是不完整,或者不符合要求 写了一个找图的子程序(开源),通过参数调用,可以自定义找图区域,定义透明色,定义图片相似程度 精度为1效率最高,1024*768找图不会超过300毫秒。精度越低效率越低

2019-10-10

语音聊天源码 用tcp与udp网络传输

语音聊天源码 namespace VoiceChat.Model { // Подтверждения public enum Flags { Accept, BeginVideoSend, EndVideoSend } // Состояния модели public enum ModelStates { WaitCall, OutgoingCall, IncomingCall, Talk, Close } public class VoiceChatModel : INotifyPropertyChanged { private const int LINES_COUNT = 2; public AudioSharing audio; public VideoSharing video; public BdtpClient bdtpClient; private Thread waitCall; public bool Connected { get { return bdtpClient.Connected; } } public IPAddress RemoteIP { get { return remoteIP; } set { remoteIP = value; OnPropertyChanged("RemoteIP"); } } private IPAddress remoteIP; public IPAddress LocalIP { get { return bdtpClient.LocalIP; } } // Текущее состояние public ModelStates State { get { return state; } set { state = value; OnPropertyChanged("State"); mediaSounds.ControlSounds(); } } private ModelStates state; public CallTimer callTimer; private MediaSounds mediaSounds; public event PropertyChangedEventHandler PropertyChanged; private void OnPropertyChanged(string PropertyName) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(PropertyName)); } public VoiceChatModel() { bdtpClient = new BdtpClient(GetLocalIP(), LIN

2020-01-11

中兴F660 v3 中英文双语 固件升级

F660 V3版固件,升级好管理地址 :192.168.100.1 用户名密码admin 国外网站扒过来的好像是白俄罗斯的,中英文固件,默认英文。固件里面除了loid外还需要PON账号密码的那种光猫可尝试刷,我这边移动光猫就是这样的。当然,只要是V3版的哪种估计都通刷,需要哪种刷哪种,只不过20P的这种固件只找到此一份,此固件没有桥接模式不能wds,无线可以选全球各国功率貌似也可调。固件日期2013.05.16,

2020-01-22

Vc++端口映射源码

Vc++端口映射源码 端口转发自己下载看吧,别的不多说了

2009-02-01

udp 和tcp结合视频监控系统.zip

using System; using System.Collections.Concurrent; using System.Net.Sockets; using System.Text; using System.Threading; namespace Gimela.Net.Sockets { /// /// UDP发送器 /// public class UdpSender : IDisposable { private bool disposed = false; private Thread senderThread; private UdpClient udpClient; private ConcurrentQueue queue; private readonly ManualResetEvent waiter; /// /// UDP发送器 /// /// 发送目的地址 /// 发送目的端口 public UdpSender(string sentToAddress, int sentToPort) { Address = sentToAddress; Port = sentToPort; this.Encoding = Encoding.Default; queue = new ConcurrentQueue(); waiter = new ManualResetEvent(false); udpClient = new UdpClient(); udpClient.AllowNatTraversal(true); senderThread = new Thread(new ThreadStart(WorkThread)); } /// /// 发送目的地址 /// public string Address { get; private set; } /// /// 发送目的端口 /// public int Port { get; private set; } /// /// 发送器是否正在运行 /// public bool IsRunning { get; private set; } /// /// 发送器所使用的编码 /// public Encoding Encoding { get; set; } /// /// 启动发送器 /// /// UDP发送器 public UdpSender Start() { if (!IsRunning) { IsRunning = true; senderThread.Start(); } return this; } /// /// 停止发送器 /// /// UDP发送器 public UdpSender Stop() { IsRunning = false; return this; } /// /// 发送数据报文 /// /// 数据报文 /// UDP发送器</return

2020-01-11

批量更改改变图片透明度

改变图片透明度 很好的学习用工码 attributes.SetColorMatrix(matrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap); Bitmap resultImage = new Bitmap(srcImage.Width, srcImage.Height); Graphics g = Graphics.FromImage(resultImage); g.DrawImage(srcImage, new Rectangle(0, 0, srcImage.Width, srcImage.Height), 0, 0, srcImage.Width, srcImage.Height, GraphicsUnit.Pixel, attributes); return resultImage; } #region 不安全代码 需要设置项目允许不安全代码 /// /// 方法二 设置图像透明度,若原图不为32位ARGB格式,则自动转换为32位ARGB输出 /// /// 原图 /// 透明度(0~1之间双精度浮点数) //public static unsafe void SetTransparent(ref Bitmap src, double transparency) //{ // if (transparency 1.0) // throw new ArgumentOutOfRangeException("透明度必须为0~1之间的双精度浮点数"); // BitmapData srcData; // Rectangle rect; // byte* p; // rect = new Rectangle(0, 0, src.Width, src.Height); // src = src.Clone(rect, PixelFormat.Format32bppArgb); // //转换到32位,否则丢失透明度 // srcData = src.LockBits(rect, ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb); // //锁定字节数组到内存 // p = (byte*)srcData.Scan0.ToPointer(); // //获取字节数组在内存中地址 // if (src.PixelFormat == PixelFormat.Format32bppArgb) // { // //如果是32位图片,有Alpha通道,以原Alpha通道的值为基准 // p += 3; // //默认修改Alpha通道的值 // for (int i = 0; i < srcData.Stride * srcData.Height; i += 4) // { // *p = (byte)(*p * transparency); // //原Alpha通道值*透明度 // p += 4; // }

2019-10-10

C#字符验证识别,验证码、车牌号、身份证号字.rar

采用第三方dll 写的 #region Image helpers Bitmap preprocess(Bitmap bmp, FiltersSequence fs) { Bitmap tmp = bmp.Clone() as Bitmap; tmp = fs.Apply(bmp); return tmp; } Bitmap projectHistogram(Bitmap bmp) { // stats if (histo != null) histo = null; int width = bmp.Width; int height = bmp.Height; histo = new int[width]; for (int y = 0; y < height; y++) for (int x = 0; x < width; x++) { Color color = bmp.GetPixel(x, y); if (color.R < 50 && color.G < 50 && color.B 200) histo[x]++; } // draw //int max = getMax(histo); Bitmap tmp = new Bitmap(width, height); using (Graphics g = Graphics.FromImage(tmp)) for (int i = 0; i 0) g.FillRectangles(Brush

2019-11-04

c#写的rsa类 解密加密 js密码RSA 的密钥产生

这个类是关于加密,解密的操作,文件的一些高级操作 1.RSACryption RSA 的密钥产生 2.RSACryption RSA的加密函数 3.RSACryption RSA的解密函数 4.RSACryption 获取Hash描述表 5.RSACryption RSA签名 6.RSACryption RSA签名认证 / /// RSA加密解密及RSA签名和验证 /// public class RSACryption { public RSACryption() { } #region RSA 加密解密 #region RSA 的密钥产生 /// /// RSA 的密钥产生 产生私钥 和公钥 /// /// /// public void RSAKey(out string xmlKeys,out string xmlPublicKey) { System.Security.Cryptography.

2020-02-05

VncSharpU 客户端dll源码

GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changin

2020-10-11

vb.net C#线程锁超时控制代码

ManualResetEvent是一个超时等待的线程锁,如果超时返回false,接收指令显示true,但是没法实现在超时后让他继续等待,这种需求我们可以用在以下场景: 控制线程超时方法 1.[主线程]:请求方发送请求,立即创建超时等待线程锁 2.[异步线程]:接收数据,数据包合并,数据包合并完成后向解锁主线程 3,[主线程]:超时则进入超时异常,接到异步线程的通知则进入后续业务 我们在使用时会发现,第二步可能是一个时间长短很难预估的范围,例如你可能是获取一个数据库(1秒),也可能是获取一个6GB文件(10分钟),他们需要等待的时间是完全不一样。那么主线程的等待时间怎么设置都是不合理的. 我们的需要是:第二步接收一次,就告知主线程一次(我接收了数据,请把等待重置一下吧),很遗憾,ManualResetEvent不具有此功能。

2020-06-01

UDPNAT-UDP穿越NAT,UDP打洞,UDP

UDP穿越NAT,UDP打洞,UDP Hole Punching 本程序分为客户端和服务端,服务端需要放在一台公用的外网服务器上,客户端运行前需要修改ip.ini文件的外网服务器信息。 Licenses /// <summary> /// 聊天消息 /// </summary> [Serializable] public class P2P_TalkMessage : P2P_MessageBase { private readonly string message; public P2P_TalkMessage(string msg) { message = msg; } public string Message { get { return message; } } } /// <summary> /// UDP打洞测试消息 /// </summary> [Serializable] public class P2P_HolePunchingTestMessage : P2P_MessageBase { private readonly string _UserName; public P2P_HolePunchingTestMessage(string userName) { _UserName = userName; } public string UserName { get { return _UserName; } } }

2020-01-11

C#图像图片信息查看日期长度 源码

查看日期 imagesBindingSource.DataSource = _formData.Images; } private void InitializeControlEvents() { percentageRadio.CheckedChanged += new EventHandler(delegate(object sender, EventArgs e) { _formData.ScaleType = ScaleType.Percentage; }); absoluteRadio.CheckedChanged += new EventHandler(delegate(object sender, EventArgs e) { _formData.ScaleType = ScaleType.Absolute; }); saveAsRadio.CheckedChanged += new EventHandler(delegate(objec

2019-11-14

C# upd服务类c.zip

using System.Collections; using System.Threading; namespace DefaultNamespace { /// <summary> /// Description of SocketServer. /// </summary> public class SocketServer : System.Windows.Forms.Form { private System.Windows.Forms.Label label3; private System.Windows.Forms.Label label2; private System.Windows.Forms.RichTextBox richTextBoxReceivedMsg; private System.Windows.Forms.TextBox textBoxPort; private System.Windows.Forms.Label label5; private System.Windows.Forms.Label label4; private System.Windows.Forms.TextBox textBoxMsg; private System.Windows.Forms.Button buttonStopListen; private System.Windows.Forms.Label label1; private System.Windows.Forms.RichTextBox richTextBoxSendMsg; private System.Windows.Forms.TextBox textBoxIP; private System.Windows.Forms.Button buttonStartListen; private System.Windows.Forms.Button buttonSendMsg; private System.Windows.Forms.Button buttonClose; public delegate void UpdateRichEditCallback(string text); public delegate void UpdateClientListCallback(); public AsyncCallback pfnWorkerCallBack ; private Socket m_mainSocket;

2020-01-11

语音聊天源码 用tcp与udp网络传输

语音聊天源码 namespace VoiceChat.Model { // Подтверждения public enum Flags { Accept, BeginVideoSend, EndVideoSend } // Состояния модели public enum ModelStates { WaitCall, OutgoingCall, IncomingCall, Talk, Close } public class VoiceChatModel : INotifyPropertyChanged { private const int LINES_COUNT = 2; public AudioSharing audio; public VideoSharing video; public BdtpClient bdtpClient; private Thread waitCall; public bool Connected { get { return bdtpClient.Connected; } } public IPAddress RemoteIP { get { return remoteIP; } set { remoteIP = value; OnPropertyChanged("RemoteIP"); } } private IPAddress remoteIP; public IPAddress LocalIP { get { return bdtpClient.LocalIP; } } // Текущее состояние public ModelStates State { get { return state; } set { state = value; OnPropertyChanged("State"); mediaSounds.ControlSounds(); } } private ModelStates state; public CallTimer callTimer; private MediaSounds mediaSounds; public event PropertyChangedEventHandler PropertyChanged; private void OnPropertyChanged(string PropertyName) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(PropertyName)); } public VoiceChatModel() { bdtpClient = new BdtpClient(GetLocalIP(), LINES_COUNT); audio = new AudioSharing(this); video = new VideoSharing(this); mediaSounds = new MediaSounds(this); callTimer = new CallTimer(); InitializeEvents(); BeginWaitCall(); } // Инициализация private void InitializeEvents() { bdtpClient.ReceiptReceived += ReceiveAccept; bdtpClient.ReceiptReceived += ReceiveDisconnect; bdtpClient.ReceiptReceived += video.ReceiveFlags; } private IPAddress GetLocalIP() { IPAddress[] addresses = Dns.GetHostAddresses(Dns.GetHostName()); return addresses.Where(x => x.AddressFamily == AddressFamily.InterNetwork).Last(); } // Обработчики приема подтверждений public static bool IsFlag(Flags flag, byte[] buffer) { return buffer.Length == 1 && buffer[0] == (byte)flag; } private void ReceiveAccept(byte[] buffer) { if (IsFlag(Flags.Accept, buffer)) { State = ModelStates.Talk; } } private void ReceiveDisconnect(byte[] buffer) { if (buffer.Length == 0) { EndCall(); } } // Исходящий вызов public void BeginCall() { State = ModelStates.OutgoingCall; EndWaitCall();

2020-01-11

httphelper 类代码有2.0 和4.0两个

httphelper 类代码有2.0 和4.0两个# httphelper C#HttpHelper实现了C#HttpWebRequest抓取时自动识别编码,证书,有效处理Cookie,并且实现的代理的功能,使用它您可以进行Get和Post请求,可以很方便 的设置Cookie,证书,代理,编码问题您不用管,因为类会自动为您识别网页的编码。 这个类是我以前写百度,Google,Soso,Sogou等网络蜘蛛时使用的,经过上千万个网站的测试,上万个网站抓取的例子总结出来的,中间的方法也是我实验了很久之后方案,所以大家可以放心使用。 我不敢说100%,但是应该是99%的网站都没有问题,都可以无视编码,证书,和Cookie,如果你确实发现那个网站在使用本类过程中有问题,出现乱码,或者是获取不了,不能带Cookie,不能带证书等问题,我非常乐意您能联系我,提出您的问题,您也可以直接回复本帖子,我会第一时间进行解答。 本类永久开源免费

2019-11-04

删除多个图片的多余透明度区域.zip

批量删除图片透明区 压缩图片功能 public string mSelectPath;//当前选择路径 public Form1() { InitializeComponent(); this.toolStripStatusLabel1.Text = "准备就绪"; } private void button1_Click(object sender, EventArgs e) { OpenFileDialog open = new OpenFileDialog(); open.Multiselect = true; open.Filter = "图片|*.png"; if (open.ShowDialog() == System.Windows.Forms.DialogResult.OK) { Tools.Export(new List<string>(open.FileNames), "D://output"); } this.toolStripStatusLabel1.Text = "图片压缩完成"; } private void button2_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(this.mSelectPath)) { this.toolStripStatusLabel1.Text = "路径不合法"; } else { Tools.ExportFolder(this.mSelectPath, "D://output"); this.RefershTreeView(); this.toolStripStatusLabel1.Text = "导出完成"; } } private void button3_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(this.mSelectPath)) { this.toolStripStatusLabel1.Text = "路径不合法"; } else { Tools.ChangeImgName(new DirectoryInfo(this.mSelectPath)); this.RefershTreeView(); this.toolStripStatusLabel1.Text = "重命名操作完成"; } } private void linkLabel1_Click(object sender, EventArgs e) { FolderBrowserDialog fb = new FolderBrowserDialog(); if(fb.ShowDialog() == System.Windows.Forms.DialogResult.OK) { this.mSelectPath = fb.SelectedPath; this.textBox1.Text = fb.SelectedPath; this.RefershTreeView(); this.toolStripStatusLabel1.Text = "选择路径:" + this.mSelectPath; } }

2019-10-10

图像特效滤镜应用 源码 灰度亮度 都有

private void btnApply12_Click(object sender, EventArgs e) { if (cmbBox12.SelectedIndex == -1) { MessageBox.Show("请选择图像特效滤镜!"); return; } //释放图像引擎当前滤镜组,如果希望叠加多个滤镜的效果,则不需要清理,依次加入想要应用的滤镜特效即可 //本引擎会自动按照添加的先后顺序对原始图片应用滤镜特效 engine.Effects.Clear(); //释放资源 if (pictureBox2.Image != null) { pictureBox2.Image.Dispose(); pictureBox2.Image = null; } //重新加载图像 LoadImage(); #region 根据选择的滤镜类型,应用滤镜到图像引擎 switch (cmbBox12.SelectedIndex) { case 0: { #region 亮度调整 AdjustBrightnessEffect effect = new AdjustBrightnessEffect(); effect.Level = 100; engine.Effects.Clear(); engine.Effects.Add(effect); pictureBox2.Image = engine.GetOutputImage(); #endregion } break; case 1: { #region 对比度调整 AdjustContrastEffect effect = new AdjustContrastEffect(); effect.Level = 100; engine.Effects.Clear(); engine.Effects.Add(effect); pictureBox2.Image = engine.GetOutputImage(); #endregion } break; case 2: { #region gamma调整 AdjustGammaEffect effect = new AdjustGammaEffect(); effect.Gamma = 10; engine.Effects.Clear(); engine.Effects.Add(effect); pictureBox2.Image = engine.GetOutputImage(); #endregion

2019-10-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除