一.包头结构体 //包头 struct PackageHeader { //包头大小(sizeof(PackageHeader)) unsigned int uTransPackageHdrSize; //当前包头的大小(sizeof(PackageHeader)+当前数据包长度) unsigned int uTransPackageSize; //数据的总大小 unsigned int uDataSize; //数据被分成包的个数 unsigned int uDataPackageNum; /…
unit uPackage;// 应用协议// cxg 2016-9-23// 包=包头+包体 interface uses SysUtils, Classes, PeachCtrl.Net.IocpTcpServer, System.Generics.Collections, Winapi.Windows, System.SyncObjs, PeachCtrl.Net.BlockingTcpClient, untLog, System.Math; const // 包长 pack_len =…
一般传输大的文件和信息的时候需要涉及到分包和组包,方法有很多,下面一种是借鉴了别人的思路,供大家参考哈 分包 1.取出需要传输的文件和字符的长度和大小放入缓存区里面: 2.设定固定传输的长度,用需要传输的长度除以固定传输的长度都可以得到需要传输的次数: 3.传输一次字节流中包括(文件名字.文件名字大小.顺序.数据总块数.数据长度.数据总长度) 4.包组装完成后,都剩下发送:当确定到接收方收到后,在传下一次包: FileStream m = new FileStream(FullName, Fil…
一个项目,要接收 UDP 数据包,解析并获取其中的数据,主要根据解析出来的行号和序号将数据拼接起来,然后将拼接起来的数据(最重要的数据是 R.G.B 三个通道的像素值)显示在窗口中.考虑到每秒钟要接收的数据包的数量较大,Python 的处理速度可能没有那么快,而且之前对 Qt 也比较熟悉了,所以用Qt 作为客户端接收处理数据包,用近期学习的 Python 模拟发送数据包. 数据格式 在 TCP/IP 协议中,UDP 数据包的大小是由限制的,因此用 UDP 传输数据时,还要在 UDP 层上再封装一…
本文首发于 BriFuture 的 个人博客 在我的前一篇文章 使用 Qt 获取 UDP 数据并显示成图片 中,我讲了如何用 Python 模拟发送数据,如何在 Qt 中高效的接收 UDP 数据包并将数据解析出来.然而此前的文章在分别显示 RGB 通道.R 通道.G 通道.B 通道这四组通道的图片时仍然会出现处理速度过慢的问题. 前面说过编写的程序至少会用到 3 个线程来分别处理 UI.socket 数据.数据解析,因为不这样做没法在时限内处理完接收到的数据,写第一篇博客的时候,我以为是单纯的使…
Vue-Quill-Editor图片插入自定义 前言: 因为在项目中前端采用了Vue来实现,正好用到了富文本编辑器这一块,于是,经过技术上的选择,决定使用Vue-Quill-Editor. 使用的过程相对简单,但是图片插入时,保留的是base64二进制形式,会导致数据库字段太长,存储不易. 所以再三斟酌,决定使用Element-UI的Upload插件来进行图片的上传. 代码: <template> <div class="bg"> <!-- 图片上传组件辅…
由于后面的图像处理需要UI,OpenCV自带也不怎么会,MFC实在懒得学的.听同学说Qt不错,就用Qt做UI了. 本文主要介绍三个内容:在Qt Creator中使用OpenCV2.Qt中自适应显示图片以及在Qt窗口中添加菜单 1.在Qt Creator中使用OpenCV2 一直使用 Visual Studio作为开发环境,OpenCV2在Visual Studio中也已经配置好了,而且Qt也有官方开发的Visual Studio的插件,所以就想着直接在Visual Studio中用OpenCV2…
一.转盘(裁剪图片.自定义按钮.旋转) 1.裁剪图片 将一张大图片裁剪为多张 // CGImageCreateWithImageInRect:用来裁剪图片 // image:需要裁剪的图片 // rect:裁剪图片的尺寸,传递是像素 CGImageRef norImage = CGImageCreateWithImageInRect(norBigImage.CGImage, clipRect); 2.每次点击按钮立马变为选中状态,并且取消上次的按钮的选中状态 只要用个成员变量记录下状态就 ok…
用qt代码怎样编写图片保存格式 qt提供了多个保存图片的接口,比较常用的接口如下 bool QPixmap::save ( const QString & fileName, const char * format = 0, int quality = -1 ) const 参数说明: fileName 文件的路径 可选参数:format 图片的格式(qt目前支持的格式见下表),如果未设置该值 则根据文件路径的后缀名来判断图片的存储格式. 可选参数:quality 图片的质量(可设置成0-100…
一.AFNetworking上传图片 /** 需要Demo,可留言 */ 1.利用AFnetworking上传图片. 2.注意将UIImage类型转化为NSData类型,传给后台. 二.Demo // // ViewController.m // Demo-AFNetworking-上传图片 // // Created by quhaola on 16/4/8. // Copyright © 2016年 MC. All rights reserved. // #import "ViewContr…