Office中国论坛/Access中国论坛

标题: vb的代码 把灰度图像转伪彩 [打印本页]

作者: 灵芝    时间: 2009-5-6 07:21
标题: vb的代码 把灰度图像转伪彩
请教,vb的代码,把灰度图像转伪彩,在ACCESS中应如何改
谢谢!!!
Private   Declare   Function   GetPixel   Lib   "gdi32"   _   
            (ByVal   hdc   As   Long,   ByVal   x   As   Long,   ByVal   Y   As   Long)   As   Long   
  Private   Declare   Function   SetPixelV   Lib   "gdi32"   _   
            (ByVal   hdc   As   Long,   ByVal   x   As   Long,   _   
              ByVal   Y   As   Long,   ByVal   crColor   As   Long)   As   Long   
  Private   tmpPic   As   Picture   
  Private   Sub   Command1_click()   
          Dim   width5     As   Long,   heigh5   As   Long,   rgb5   As   Long   
          Dim   hdc5   As   Long,   i   As   Long,   j   As   Long   
          Dim   bBlue   As   Long,   bRed   As   Long,   bGreen   As   Long   
          Dim   Y   As   Long   
            
          width5   =   Picture1.ScaleWidth   
          heigh5   =   Picture1.ScaleHeight   
          hdc5   =   Picture1.hdc   
          For   i   =   1   To   width5   
                  For   j   =   1   To   heigh5   
                          rgb5   =   GetPixel(hdc5,   i,   j)   
                          bBlue   =   Blue(rgb5)             '获得兰色值   
                          bRed   =   Red(rgb5)                 '获得红色值   
                          bGreen   =   Green(rgb5)         '获得绿色值   
                          '将三原色转换为灰度   
                          Y   =   (9798   *   bRed   +   19235   *   bGreen   +   3735   *   bBlue)   \   32768   
                          '将灰度转换为RGB   
                          rgb5   =   RGB(Y,   Y,   Y)   
                          SetPixelV   hdc5,   i,   j,   rgb5   
                  Next   j   
          Next   i   
          Set   Picture1.Picture   =   Picture1.Image   
  End   Sub   
   
  Private   Function   Red(ByVal   mlColor   As   Long)   As   Long   
          '从RGB值中获得红色值   
          Red   =   mlColor   And   &HFF   
  End   Function   
  Private   Function   Green(ByVal   mlColor   As   Long)   As   Long   
          '从RGB值中获得绿色值   
          Green   =   (mlColor   \   &H100)   And   &HFF   
  End   Function   
  Private   Function   Blue(ByVal   mlColor   As   Long)   As   Long   
          ''从RGB值中获得蓝色值   
          Blue   =   (mlColor   \   &H10000)   And   &HFF   
  End   Function
作者: luhao    时间: 2009-5-6 12:33
有没一个例
作者: 灵芝    时间: 2009-5-7 05:36
这是别人做的,我需要在ACCESS中实现
作者: 灵芝    时间: 2009-5-7 06:41
还有一个代码,只是没弄明白,请帮忙
作者: luhao    时间: 2009-5-16 20:40
还有一个代码,只是没弄明白,请帮忙
灵芝 发表于 2009-5-7 06:41

是用VB做了




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3