zoukankan      html  css  js  c++  java
  • 图片数据随笔

    google下位图数据

    CImage:
    GetBits()返回的是图像数据buffer指针,如果是8位灰度图,每一字节(byte)是一个像素灰度级(调色板索引);如果是24位彩色,每三字节是一个像素RGB(存储顺序是BGR),另外注意位图数据从下到上存放,每行是按4字节的倍数分配空间。

    指针指向的是 一维数组(c++只有一维数组,多维的存储也是一维)
    定位需要你知道图像的信息才行:
    比如标准24位真彩色bmp文件,位图数据存储在一维数组lpBits[]中,图像大小height*width
    你要定位(x,y):
    1 此坐标应为以图像左下角为原点的坐标系,如果不是则需要坐标变换下(位图数据从下到上存储)
    确定每行的存储宽度(位图每行按4字节的倍数存储)
    if(width*3%4 == 0) savewidth = width*3;
    else savewidth = ((int)(width*3/4)+1)*4;
    3 lpBits[y*savewidth+x*3]即为(x,y)像素RGB数据,注意是按照BGR顺序存储的,因此
    b = lpBits[y*savewidth+x*3];
    g = lpBits[y*savewidth+x*3+1];
    r = lpBits[y*savewidth+x*3+2];

  • 相关阅读:
    pymysql模块的使用
    MySQL创建用户、授权和备份
    多表查询
    单表查询
    mysql性能优化2
    mysql性能优化1
    穷人的思维
    thinkphp所有参数配置
    似水流年
    memecached常用命令
  • 原文地址:https://www.cnblogs.com/wxl845235800/p/7615857.html
Copyright © 2011-2022 走看看