8-图像放大
其实,就是开辟一个zoomwidth,zoomheight的内存,再分别赋值即可。
void CDib::Maginify(float xZoom, float yZoom)
{
//指向原图像指针
LPBYTE p_data = GetData();
//指向原像素的指针
LPBYTE lpSrc;
//指向缩放图像对应像素的指针
LPBYTE lpDst ;
//像素在原DIB的坐标
LONG i;
LONG j;
//循环变量(像素在新图中的坐标)
LONG i0;
LONG j0;
//图像的宽和高
LONG width = GetWidth();
LONG height = GetHeight();
//计算放缩后的图像宽度和高度
LONG newWidth = (LONG)(width * xZoom + 0.5);
LONG newHeight = (LONG)(height * yZoom + 0.5);
LONG newLineBytes = (newWidth * 8 + 31) / 32 * 4;
//暂时分配内存,以保存新图像
LPBYTE temp1 = new BYTE[newWidth * newHeight];
memset(temp1, (BYTE)255, newWidth * newHeight);
int r, g, b;
for (int i = 0; i < newWidth; i++)
{
for (int j = 0; j < newHeight; j++)
{
lpDst = (LPBYTE)temp1 + newWidth * j + i;
int i0 = (i / xZoom + 0.5);
int j0 = (j / yZoom + 0.5);
if ((i0 >=0 ) && ( i0 < width) && (j0 >= 0) && (j0 < height))
{
lpSrc = (LPBYTE)p_data + width * j0 + i0;
*lpDst = *lpSrc;
}
}
}
m_pData = temp1;
m_pBitmapInfoHeader->biWidth = newWidth;
m_pBitmapInfoHeader->biHeight = newHeight;
}
构造函数调用
CMy1_showbitmapView::CMy1_showbitmapView()
{
_cdib.LoadFile (“D:/Test/DataProcess/result.bmp”);
_cdib.Maginify(2.0, 2.0);
}

相关文章:
8-图像放大
其实,就是开辟一个zoomwidth,zoomheight的内存,再分别赋值即可。 void CDib::Maginify(float xZoom, float yZoom) { //指向原图像指针 LPBYTE p_data GetData(); //指向原像素的指针 LPBYTE lpSrc; //指向缩放图像对应像素的指针 LPBYTE l…...
java实现压缩文件夹(层级压缩)下载,java打包压缩文件夹下载
工具类如下 打包下载方法:exportZip(支持整个文件夹或单文件一起) 注意:前端发送请求不能用ajax,form表单提交可以,location.href也可以,window.open也可以,总之就ajax请求就是不行 import com.…...
Visual Studio 2022 配置“Debug|x64”的 Designtime 生成失败。IntelliSense 可能不可用。
今天写代码,无缘无故就给我整个这个错误出来,我一头雾水。 经过我几个小时的奋战,终于解决问题 原因就是这个Q_INTERFACES()宏,我本想使用Q_DECLARE_INTERFACE Q_INTERFACES这两个Qt宏实现不继承QObject也能使用qobjec…...
Pandas教程16:DataFrame列标题批量重命名+空df数据判断+列名顺序重排
---------------pandas数据分析集合--------------- Python教程71:学习Pandas中一维数组Series Python教程74:Pandas中DataFrame数据创建方法及缺失值与重复值处理 Pandas数据化分析,DataFrame行列索引数据的选取,增加,…...
React.FC介绍
React.FC是React中的一种函数组件类型,是在TypeScript中使用的一个泛型,FC即Function Component的缩写,表示一个接收props作为输入并返回JSX元素的函数组件。 使用React.FC可以为组件定义类型,提供props的类型作为泛型参数&#x…...
为什么要用scrapy爬虫库?而不是纯python进行爬虫?
为什么要用scrapy爬虫库?而不是纯python进行爬虫? Scrapy的优点Scrapy节省的工作使用纯Python编写爬虫的不足 Scrapy是一个使用Python编写的开源和协作的web爬虫框架,它被设计用于爬取网页数据并从中提取结构化数据。Scrapy的强大之处在于其广…...
C:数据结构王道
初始化顺序表(顺序表中元素为整型),里边的元素是1,2,3,然后通过scanf读取一个元素(假如插入的是6),插入到第2个位置,打印输出顺序表,每个元素占3个空格,格式为…...
Compose UI 之 Buttons 按钮 IconButtons 图标按钮
Buttons 按钮 Android Compose UI 库中的 Button 和 IconButton 是两种常用的组件,它们各自具有一些独特的特点。 Button 的特点: 可点击性:Button 是一个可点击的组件,通常用于触发某个操作或事件。文本内容:Button 通常包含文本内容,用于描述按钮的功能或操作。自定义…...
吴恩达机器学习笔记 二十一 迁移学习 预训练
迁移学习(transfer learning):直接把神经网络拿来,前面的参数可以直接用,把最后一层改了。 两种训练参数的方式: 1.只训练输出层的参数 2.训练所有参数 当只有一个小数据集的时候,第一种方法…...
Python中Pandas常用函数及案例详解
Pandas是一个强大的Python数据分析工具库,它为Python提供了快速、灵活且表达能力强的数据结构,旨在使“关系”或“标签”数据的操作既简单又直观。Pandas的核心数据结构是DataFrame,它是一个二维标签化数据结构,可以看作是一个表格…...
VR全景看房:超越传统的看房方式
近年来,新兴技术不断涌出,例如大数据、VR全景、人工智能、元宇宙等。随着科技不断发展,VR全景技术在房地产行业中的应用也是越发广泛,逐渐超越了传统的看房方式。今天,就让我们一起来深入探讨一下VR全景技术在VR看房中…...
pip 配置镜像加速安装
在使用pip安装Python第三方库时,默认是使用pip官网的非常慢,可通过配置国内镜像源加速下载速度,以下是如何使用国内镜像源安装Python库的两种常见方式: 临时使用镜像源安装 如果你只是想临时使用某个镜像源安装单个或几个库&…...
LUA语法复习总结
文章目录 简记变量数据类型运算符算术运算符关系运算符逻辑运算符杂项运算符 列表(表)表格操作表连接插入和删除排序表 模块元表__index 元方法实例 总结__newindex 元方法实例实例 为表添加操作符实例 __call 元方法实例 __tostring 元方法实例 简记 lua下标从1开始迭代器pai…...
某赛通电子文档安全管理系统 DecryptApplication 任意文件读取漏洞(2024年3月发布)
漏洞简介 某赛通电子文档安全管理系统 DecryptApplication 接口处任意文件读取漏洞,未经身份验证的攻击者利用此漏洞获取系统内部敏感文件信息,导致系统处于极不安全的状态。 漏洞等级高危影响版本*漏洞类型任意文件读取影响范围>1W 产品简介 …...
Mac-自动操作 实现双击即可执行shell脚本
背景 在Mac上运行shell脚本,总是需要开启终端窗口执行,比较麻烦 方案 使用Mac上自带的“自动操作”程序,将shell脚本打包成可运行程序(.app后缀),实现双击打开即可执行shell脚本 实现细节 找到Mac上 应用程序中的 自动操作&am…...
人工智能入门之旅:从基础知识到实战应用(六)
一、人工智能学习之路总结 人工智能学习的关键点与挑战可以总结如下: 关键点: 理论基础: 理解机器学习、深度学习等人工智能的基本原理和算法是学习的基础,包括线性代数、概率统计、微积分等数学知识,以及神经网络、…...
Debezium日常分享系列之:Debezium2.5稳定版本之Mysql连接器的工作原理
Debezium日常分享系列之:Debezium2.5稳定版本之Mysql连接器的工作原理 一、Mysql连接器的工作原理1.支持的 MySQL 拓扑2.MariaDB 支持3.Schema history topic4.Schema change topic5.Snapshots1)使用全局读锁的初始快照2)Debezium MySQL 连接…...
Linux服务器,使用ssh登录时越来越慢,有时甚至出现超时的现象,解决方案
一台Linux服务器,使用ssh登录时越来越慢,有时甚至出现超时的现象。一直以为这不算问题,但是有时候登录时间长的让人无法接受,查了一下,这“ssh登录慢”还真的是个问题,解决方案如下: 客户端进行…...
GPT-SoVITS开源音色克隆框架的训练与调试
GPT-SoVITS开源框架的报错与调试 遇到的问题解决办法 GPT-SoVITS是一款创新的跨语言音色克隆工具,同时也是一个非常棒的少样本中文声音克隆项目。 它是是一个开源的TTS项目,只需要1分钟的音频文件就可以克隆声音,支持将汉语、英语、日语三种…...
C#十大排序总结
一、冒泡排序 传送门 一、C#冒泡排序算法-CSDN博客 未完待续。。。...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...
Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...
UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...
