zoukankan      html  css  js  c++  java
  • C语言之图像旋转

    最近用到了图像向左或者向右旋转90°的情况,纠结了好一会儿,写下来供大家参考。

    1 向左旋转90°

    //unsigned char *pImgData: 输入图像指针
    //int WidthIn, int HeightIn:输入图像宽、高
    //unsigned char *pImgOut: 旋转后图像指针
    void RotateOfLeft(unsigned char *pImgData, int WidthIn, int HeightIn)
    {
        int i, j, tempSize;
        int WidthOut  = HeightIn;
        int HeightOut = WidthIn;
        unsigned char pImgtemp[148*36];            
        for (i = 0; i < HeightIn; i ++)
        {
            for (j = 0;j < WidthIn; j ++)      
            {
                *(pImgtemp + i*WidthIn + j) = *(pImgData*WidthIn + j);
            }      
        }  
        //memcpy(pImgtemp,pImgData,148*36);
        for (i = 0; i < HeightOut; i ++)
        {
            for (j = 0;j < WidthOut; j ++)      
            {
                *(pImgData + i*WidthOut + j) = *(pImgtemp + (j+1)*WidthIn - 1 - i);
            }          
        }
    }

    2 向右旋转90°

    //unsigned char *pImgData: 输入图像指针
    //int WidthIn, int HeightIn:输入图像宽、高
    //unsigned char *pImgOut: 旋转后图像指针
    void RotateOfRight(unsigned char *pImgData, int WidthIn, int HeightIn, unsigned char *pImgOut)
    {
        int i, j;
        int WidthOut  = HeightIn;
        int HeightOut = WidthIn;
        for (i = 0; i < HeightOut; i ++)
        {
            for (j = 0;j < WidthOut; j ++)      
            {
                *(pImgOut + i*WidthOut + j) = *(pImgData + (HeightIn - j - 1)*WidthIn + i);
            }          
        }
    }
  • 相关阅读:
    js获取当前网址Url
    ajax解决跨域问题
    微信小程序传递URL中含有特殊字符
    layui中的tab切换
    layer.confirm等事件X关闭与取消监听
    Java中的API方法总结
    sublime安装插件
    LNMP的基本配置
    LNMP环境的搭建
    LAMP安装细则
  • 原文地址:https://www.cnblogs.com/wwf828/p/9455266.html
Copyright © 2011-2022 走看看