图形上下,左右对称旋转代码
/
//图像处理
void CGeoPhotoProc::ReversePicture(CString strPicName)
{
CImage image;
if(image.Load(strPicName)==E_FAIL)
return ;
//图像每一行的字节数
int nRowBytes = image.GetPitch();
int nWidth = image.GetWidth();
int nHeight = image.GetHeight();
//每个像素所占的字节数
int nClrCount = image.GetBPP() / 8;
LPBYTE p;
//上下对调
for(int index = 0; index < nClrCount; index++)
{
LPBYTE pOrg=p = (LPBYTE)image.GetBits();
pOrg += (nHeight-1)*nRowBytes;
for(int i = 0; i < nHeight/2; i++)
{
for(int j = 0; j < nWidth; j++)
{
BYTE nB=p[j*nClrCount + index];
p[j*nClrCount + index]=pOrg[j*nClrCount + index] ;
pOrg[j*nClrCount + index] = nB;
}
//如果nRowBytes>0 则从开始到结尾
//如果nRowBytes<0, 则从结尾到开始
p += nRowBytes;
pOrg-=nRowBytes;
}
}
image.Save(strPicName);
}
//左右对调
void CGeoPhotoProc::SymmetryPicture(CString strPicName)
{
CImage image;
if(image.Load(strPicName)==E_FAIL)
return ;
//图像每一行的字节数
int nRowBytes = image.GetPitch();
int nWidth = image.GetWidth();
int nHeight = image.GetHeight();
//每个像素所占的字节数
int nClrCount = image.GetBPP() / 8;
LPBYTE p;
//左右对调
for(int index = 0; index < nClrCount; index++)
{
p = (LPBYTE)image.GetBits();
for(int i = 0; i < nHeight; i++)
{
for(int j = 0; j < nWidth/2; j++)
{
BYTE nB=p[(nWidth-1-j)*nClrCount + index];
p[(nWidth-1-j)*nClrCount + index]=p[j*nClrCount + index] ;
p[j*nClrCount + index] = nB;
}
//如果nRowBytes>0 则从开始到结尾
//如果nRowBytes<0, 则从结尾到开始
p += nRowBytes;
}
}
image.Save(strPicName);
}
图形上下,左右对称旋转代码相关推荐
- QT OpenGL图形放大缩小旋转移动
由于要在OpenGL中实现放大缩小旋转和移动的效果,故要重写鼠标事件 放大缩小 重写void wheelEvent(QWheelEvent *event)函数 void zScale(float dz ...
- cad块炸开软件_CAD软件中将CAD图形定义为旋转动态块的操作技巧
在我们使用浩辰CAD软件绘制CAD图纸的过程中,如果频繁的创建图块,会浪费我们的时间,为了提高绘图速率,可以将CAD图纸中的图形定义为动态块,那怎么在CAD软件中将CAD图形定义为旋转动态块呢?接下来 ...
- 图形推理1000题及答案解析_判断推理图形推理——区分旋转翻转
点击上面蓝字关注我们 区分旋转翻转 时针法用来判定两个图形是通过旋转相互得到,还是通过翻转相互得到的. 时针法:在原图形中选取三个点,在待判定图形上标注同样三个点,依同样的次序通过这三个点的路径可以确 ...
- 记录一下:在菜单上添加自绘图形的例子(VB6代码)
不复杂,记录在这里以备用 效果图: 代码如下: Option Explicit '在菜单上添加自绘图形的例子 '窗体上添加一个Picture1,一个Command1,一个至少带一个下级菜单的顶级菜单. ...
- 翻转和旋转计算机教学,小学信息技术(上册)第15课图形翻转与旋转教学案例...
小学信息技术(上册)第15课图形翻转与旋转教学案例 苏州市湄长小学 方艳 1. 教学背景 1.1.教材分析 <图形的翻转与旋转>是江苏省小学信息技术教材第15课的第一课时内容.本课主要学习 ...
- 怎么用几何画板制作图形平移和旋转
在数学教学中,老师们在黑板上作图,都是不能够动的.这样往往不利于老师把自己的课程讲清楚明白.如果图形能够随着课程的进度进行的移动和旋转,这样不仅能够让课程变得生动有趣,还能够帮助学生理解记忆知识点.随 ...
- python kivy显示图片_python基于Kivy写一个图形桌面时钟程序代码示例
本篇文章小编给大家分享一下python基于Kivy写一个图形桌面时钟程序代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. Kivy 是一个开源的 ...
- delphi 实现屏幕旋转代码_代码检查 | 如何用Processing实现3D世界
一花一世界,一叶一菩提.每个人眼中的花是不一样的,每个人眼中的世界也是不一样的 .昔时佛祖拈花,惟迦叶微笑,既而步往极乐.在菩提树下,从一朵花中便能悟出整个世界,最终得升. 今天就来给大家介绍日本先生 ...
- html旋转代码_用CSS实现一个抽奖转盘(附详细代码+思路)
原文:https://www.cnblogs.com/wenruo/p/9732704.html 先上效果 基本是用CSS实现的,没有用图片,加一丢丢JS.不过没有考虑太多兼容性. 首先画一个转盘 & ...
最新文章
- html css 让元素居中显示,html – CSS:如何在居中元素周围对齐元素?
- 一个请求方法是一个线程吗?不是!
- OpenKruise v0.7.0 版本发布:新增周期任务分发控制器
- 全球农业南南合作论坛 唐盛尧:对话国际农民丰收节贸易会
- ue4 classuobject没有成员beginplay_关于UE4使用的一些想法(一)
- 搭建项目前端页面环境
- 绿色vmware 安装后看不到虚拟的网卡
- 保存网络文章以供以后使用Instapaper阅读
- C++继承详解三 ----菱形继承、虚继承
- 锻炼产品架构思维的4个维度
- 笨办法学 Python · 续 练习 27:`tr`
- 如何看待EMNLP2021 best paper? 邱锡鹏教授:以为走错会场了
- Qt: json对象转格式化字符串
- AFLGO插桩代码分析记录
- SSL安全证书:免费的SSL证书申请渠道有哪些?
- LWN:5.18合并窗口第一部分!
- 问题 F: 是你飘了,还是我拿不动刀了(字符串问题)
- Springboot的@Aspect使用
- Android开发艺术探索——第七章:Android动画深入分析
- 用matlab对图像进行边缘填充,matlab中的图像边界填充函数 | 学步园