• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






Kevin Gao

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

随笔分类 -  C#

上一页 1 2 3

 
C#将jpg格式图片合成到bmp格式图片中
摘要:在C#中,有时为解决几个图片显示的问题,比如有一张背景图,还有一直是要显示在背景图上的图片,如何能将这2张图片合成一张图片显示呢?下面的例子提供了这样一个解决的方法,代码如下://strwinepath酒的图片//strBackPic 背景图片private void TestPaint(string strwinepath,string strWineDetailBackPic){ //获取酒的图片,酒的图片格式为jpg格式 Image imgWine = Image.FromFile(strwinepath); //获取背景图片,背景图片格式也为jpg格式,现在读取为bmp格式 Bi... 阅读全文
posted @ 2011-12-19 10:47 Kevin Gao 阅读(1741) 评论(0) 推荐(0)
使用Joson的格式字符串在Socket中通讯时数据格式的转换
摘要:最近在测试通讯模块时,发现新增的Android平台发送过来的数据,服务器端总是收不到,后来发现java中数据类型有些和C#中的不一样,比如C#中byte对应范围是0~255,而Java中则对应的是-128~127,因此直接按照通讯协议传序列化的二进制流总是出现问题。考虑到这一点在Android那一端才用Joson序列化发送到服务端,而在服务端对接收到的数据进行反序列化后转化为对象。同时在服务端进行发送数据时,转换为Joson格式后,序列化为二进制流发生给Android端。废话不多说了,上代码://Joson格式的二进制流转换为对象public static T JosonDeSerialize 阅读全文
posted @ 2011-12-17 16:19 Kevin Gao 阅读(808) 评论(0) 推荐(0)
AMF序列化为对象和AMF序列化为二进制字节流
摘要:在使用Flex作为页面前端驱动Socket通讯时,一般使用AMF格式来进行的发送和接收,因此就要涉及到不同的数据格式的转换。下面提供了AMF序列化为对象和AMF序列化为二进制字节流的方法,代码如下://将AMF格式字节流转换为对象public static T AMF_Deserializer<T>(byte[] buffer,int length) { MemoryStream stream = new MemoryStream(buffer,0,length); ByteArray byteArray = new ByteArray(stream); object obj = 阅读全文
posted @ 2011-12-17 15:57 Kevin Gao 阅读(1722) 评论(0) 推荐(0)
字节流转换为对象的方法
摘要:今天在对字节流转换为对象时,发现总是会报错,后来查明原因是要将流的Index设置为起始位置,因为序列化后Index移到了流的末尾,所以才报错了。代码如下:publicstaticT DeSerializer<T>(byte[]buffer,intlength){try{stringmTextReceived = Encoding.UTF8.GetString(buffer,0,length);SocketDataPack sdp =GetSocketDataPackFromString(mTextReceived); //MemoryStream对象提供了无需进行IO就可以创建St 阅读全文
posted @ 2011-12-16 21:43 Kevin Gao 阅读(1515) 评论(0) 推荐(0)
C#中为多线程变量提供原子操作的类Interlocked
摘要:最近在工作中经常用到了多线程来处理问题,但是关于多线程共享变量的问题就需要解决了。还好.net为我们提供了InterLocked类,它可是微软专门为多个线程共享的变量提供原子操作的类。我们经常用到的方法之一是Interlocked.Increment()和Interlocked.Decrement()。如下是MSDN上关于这2个方法的介绍:Increment 和Decrement 方法递增或递减变量并将结果值存储在单个操作中。在大多数计算机上,增加变量操作不是一个原子操作,需要执行下列步骤:将实例变量中的值加载到寄存器中。增加或减少该值。在实例变量中存储该值。如果不使用 Increment . 阅读全文
posted @ 2011-12-07 14:30 Kevin Gao 阅读(3155) 评论(0) 推荐(1)
浅析C#异步操作
摘要:这里介绍开始C#异步操作后如果要阻止应用程序,可以直接调用 End 方法,这会阻止应用程序直到异步操作完成后再继续执行。.NET Framework 为异步操作提供了两种设计模式:使用 IAsyncResult 对象的异步操作与使用事件的异步操作。先来学习前者概述IAsyncResult 异步设计模式通过名为 BeginOperationName 和 EndOperationName 的两个方法来实现原同步方法的异步调用,如 FileStream 类提供了 BeginRead 和 EndRead 方法来从文件异步读取字节,它们是 Read 方法的异步版本Begin 方法包含同步方法签名中的任何 阅读全文
posted @ 2011-11-30 11:11 Kevin Gao 阅读(439) 评论(0) 推荐(0)
C#中文件操作类FileUtil
摘要:public class FileUtil { /// <summary> /// 换行符 /// </summary> public static string NewLine = "\r\n"; #region 检测指定目录是否存在 /// <summary> /// 检测指定目录是否存在 /// </summary> /// <param name="directoryPath">目录的绝对路径</param> public static bool IsExistDirecto 阅读全文
posted @ 2011-11-05 12:34 Kevin Gao 阅读(1501) 评论(0) 推荐(0)
关于Control的Invoke方法的使用
摘要:关于Invoke方法的解释,我们首先看看MSDN中详细解释,Control.Invoke Method (Delegate)Executes the specified delegate on the thread that owns the control's underlying window handle.翻译:在属于这个控件的窗体的句柄的线程下执行这个指定的代理。英文水平有限,请大家不要笑啊。public Object Invoke( Delegate method )methodType: System.Delegate(委托类型)A delegate that contai 阅读全文
posted @ 2011-11-05 11:47 Kevin Gao 阅读(1162) 评论(0) 推荐(0)
DES加密/解密类
摘要:/// <summary> /// DES加密/解密类。 /// </summary> public class DESEncrypt { public DESEncrypt() { } #region ========加密======== /// <summary> /// 加密 /// </summary> /// <param name="Text"></param> /// <returns></returns> public static string Encrypt( 阅读全文
posted @ 2011-11-05 10:36 Kevin Gao 阅读(349) 评论(0) 推荐(0)
 

上一页 1 2 3