BCB实现BMP图片的RGB分解(转)

源:BCB实现BMP图片的RGB分解

1、打开BMP图片文件,在Image控件中显示;

  if(dlgOpen1->Execute())
  {
    edt1->Text=dlgOpen1->FileName;
    img1->Picture->LoadFromFile(edt1->Text);
  }

2、逐行扫描图片,获取图片中每点的像素颜色值;        color=img1->Canvas->Pixels[i][j];

3、从获取的颜色值中提取R、G、B分量;         rgbbuf[0][i][j]=GetRValue(color);         rgbbuf[1][i][j]=GetGValue(color);         rgbbuf[2][i][j]=GetBValue(color);

BMP与JPG格式的相互转换

函数代码如下,在程序头文件中加入:#include <jpeg.hpp>

void   bmptojpeg(TMemoryStream   *pms)
  {   
        TJPEGImage   *j=new   TJPEGImage;   
        Graphics::TBitmap   *b=new   Graphics::TBitmap;
        b->LoadFromStream(pms);
        j->Assign(b);   
        j->CompressionQuality=60;       //等级太高有可能压缩出错!   
        j->Compress();   
        pms->Clear();   
        j->SaveToStream(pms);   
        pms->Position=0;   
        delete   b;   
        delete   j;   
          
  }   
  void   jpegtobmp(TMemoryStream   *pms)   
  {   
      TJPEGImage   *j=new   TJPEGImage;   
      Graphics::TBitmap   *b=new   Graphics::TBitmap;   
    
      j->LoadFromStream(pms);   
      j->DIBNeeded();   
      b->Assign(j);   
      pms->Clear();   
      b->SaveToStream(pms);   
      pms->Position=0;   
    
      delete   b;   
      delete   j;   
    
  }

要将转换后的流保存成文件可以使用:SaveToFile方法保存;

转载于:https://www.cnblogs.com/LittleTiger/p/4708532.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值