全网首发:以字型为例,一维表示的二维数组矩阵,以易理解的方式旋转90、-90
原文参考:
https://quantum6.blog.csdn.net/article/details/110794038
在使用过程中,吾发现旋转代码很难理解。如果原来数据有特殊要求,这样是有问题的。于是经过一番实验(列出了一个数组,然后手工旋转,对照算法),找到了新的公式:
static void rotate_90(FT_Bitmap* pBmp)
{int w = pBmp->width;int h = pBmp->rows;int i=0;char* pRotated;int size;int offset=0;size = w * h;pRotated = (char*)malloc(size);memcpy(pRotated, pBmp->buffer, size);for (int y=0; y<h; y++){for (int x = 0; x < w; x++){pRotated[(x)*h+y] = pBmp->buffer[(h-y-1)*w+x];}}dumpBuffer(pRotated, h, w);
}static void rotate_270(FT_Bitmap* pBmp)
{int w = pBmp->width;int h = pBmp->rows;int i=0;char* pRotated;int size;int offset=0;size = w * h;pRotated = (char*)malloc(size);memcpy(pRotated, pBmp->buffer, size);for (int y=0; y<h; y++){for (int x = 0; x < w; x++){pRotated[(w-x-1)*h+y] = pBmp->buffer[y*w+x];}}dumpBuffer(pRotated, h, w);
}
全网首发:以字型为例,一维表示的二维数组矩阵,以易理解的方式旋转90、-90相关推荐
- 让一维指针指向二维数组空间的方法!
背景:int *p;int a[10][10];如何让一维指针p指向a[10][10]开辟的内存空间? 正确的方法: 1.开始我用的笨方法是另外开辟一个内存空间int*p=new int [100]; ...
- C语言一维/二维数组解引用难理解点以及一道难题
C语言指针相关的坑爹题 先来一点简单的 求下面各代码打印结果(32位环境): int a[3][4] = {0}; printf("%d\n",sizeof(a)); printf ...
- oracle 一维数转二维数组,js将一维数组转化为二维数组
遇到的问题: 后端返回的是一组一维数组,但是需要展示的格式是二维数组,常见的场景举例:后台返回10个长度的数组,需要分成3个一组展示在banner上. 例:[1,2,3,4,5,6,7,8,9,10] ...
- 【千字过程分析】剑指 Offer 04. 二维数组中的查找
立志用最少的代码做最高效的表达 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数 ...
- 一维数组和二维数组矩阵乘法
#include <iostream> using namespace std; int c[3][2]={0}; int d[6]={0}; //二维数组存储矩阵乘法 void mult ...
- mysql二维数据转一维存_二维数组转一维数组
//二维转一维 var arr=[ [1,2,3], [2,5,6,7], [234,234,545] ] function dir(arr) { var result=[]; for(var r=0 ...
- C语言 一维数组、二维数组的创初始化、使用和存储
目录 数组 一维数组 一维数组的创建和初始化 一维数组的定义 一维数组的初始化 完全初始化 不完全初始化 一维数组的使用 一维数组的使用代码示例 一维数组在内存中的存储 代码示例 二维数组 二维数组的 ...
- java二维数组遍历后转为一维数组_java数组(一)
数组的定义 数组是相同类型数据的有序集合. 简单理解就是:数组是由若干个相同类型的数据,按照一定的顺序组合而成的.数组中的每一个数据我们可以称为元素,每个元素可以通过索引(下标)来访问(获取). 数组 ...
- C++阶段01笔记05【数组(概述、一维数组、二维数组)】
C++| 匠心之作 从0到1入门学编程[视频+课件+笔记+源码] 目录 5 数组 5.1 概述 5.2 一维数组 5.2.1 一维数组定义方式 --示例 5.2.2 一维数组数组名 --示例 --练习 ...
- C语言 一维数组比二维运算快吗,二维数组与一维数组的性能
在C中,二维数组只是一维数组的简洁索引scheme. 就像使用一维数组一样,2D数组分配一个连续内存块, A[row][col]符号类似于A[row*NCOLS+col] . 通常,如果要使用单维数组 ...
最新文章
- Laravel Predis Error while reading line from the server.
- 第十、十一周项目一-点-圆-圆柱类族的设计(2)
- Synchronize类锁
- spring实现模板文件下载
- C#中使用jieba.NET、WordCloudSharp制作词云图
- Android第二个小练习:拨号提醒
- 百万 Go TCP 连接的思考: epoll方式减少资源占用
- hibernate annotations @Entity hql XX not mapped
- iOS开发之NSURLSession/NSURLConnection HTTP load failed 的解决办法
- 用glew,glfw,FreeImag实现opengl画图-第五课 摄像机
- excel公式编辑器_无需支付!免费领取!极度公式丨专业公式 OCR 识别编辑软件...
- 对技术的态度/编程修养(上)
- 有没有一款软件是测试阅读准确率的,当今各一线股票软件系统指标准确率测试一览表...
- 三、数据特性计算(含信道通讯计算、码元速率计算、尼奎斯特定理、香农定理以及相应的练习题)——网络工程师成长之路
- 电脑进不去游戏显示重新连接服务器,幻塔无法连接服务器怎么办?游戏进不去解决方法...
- 债务人不愿腾房是否能拍卖
- 列变位法解密(2016百度之星 - 测试赛(热身,陈题))
- js正则的test方法一会返回true一会返回false
- Android轮播图原理思路分析+实现方案
- Windows10通过局域网共享文件的方法
热门文章
- 华北五省计算机应用大赛2018,2019年华北五省(市、自治区)及港澳台大学生计算机应用大赛举行...
- 【礼仪大赛策划方案手段】 问穿正装的礼节是什么?到底何为正装?休闲正装?
- 网络 如何解决输入路由器管理地址192.168.1.1进不去
- rocketmq消息积压
- 记录一次日志实现,基于log4j2
- redis 主从不同步连接不上
- ant 发布web应用脚本
- lr_save_var() 截取任意字符串长度,以参数形式输出(参数转变量)
- 揭示Win32 API拦截细节/API hooking revealed (2)
- 回发或回调参数无效。