图象转换下

原创 2002年02月24日 08:51:00

图象转换下

'**********************************************************************
'* 刷新 PictureBox 控件的 Picture 对象。对PictureBox中的任何绘图操作,
'*                  通过它即可转换为Picture对象
'* 使用该函数可将PictureBox内的图象编辑结果永久更新为 Picture 对象
'* 参数∶ PicBox PictureBox控件名
'*        lWidth 需要更新的图象宽度(按你的需要,不局限于目前Picture对
'*               象的实际大小),也是最后要形成的Picture对象的图象宽度(单位∶像素)
'*        lHeight 需要更新的图象高度,其他类同与 lWidth(单位∶像素)
'**********************************************************************
Function UpdatePicture(ByRef PicBox As Object, Optional ByVal lWidth As Long = -1, _
            Optional ByVal lHeight As Long = -1) As Boolean
 
 On Error GoTo errHandle

  Dim oldScMode As Integer
  Dim hNewDC As Long
  Dim hOldBit As Long
  Dim hNewBit As Long

  oldScMode = -1
  oldScMode = PicBox.ScaleMode
  If lWidth = -1 Then
    lWidth = PicBox.ScaleX(PicBox.Picture.Width, 8, vbPixels)
  End If
  If lHeight = -1 Then
    lHeight = PicBox.ScaleY(PicBox.Picture.Height, 8, vbPixels)
  End If

  hNewDC = CreateCompatibleDC(PicBox.hdc)
  hNewBit = CreateCompatibleBitmap(PicBox.hdc, lWidth, lHeight)
  hOldBit = SelectObject(hNewDC, hNewBit)

  BitBlt hNewDC, 0, 0, lWidth, lHeight, PicBox.hdc, 0, 0, vbSrcCopy
  SelectObject hNewDC, hOldBit

  PicBox.Picture = BitmapToPicture(hNewBit)

  DeleteObject hNewDC
  DeleteDC hNewDC
  If oldScMode <> -1 Then PicBox.ScaleMode = oldScMode
  UpdatePicture = True

  Exit Function
errHandle:
  UpdatePicture = False
  If oldScMode <> -1 Then PicBox.ScaleMode = oldScMode
End Function
有关的API函数声明

Option Explicit

Public Const hNull = 0

Public Type IID
   Data1 As Long
   Data2 As Integer
   Data3 As Integer
   Data4(0 To 7) As Byte
End Type

Public Type PICTDESC
  cbSizeofstruct As Long
  picType As Long
  hgdiobj As Long
  hPalOrXYExt As Long
End Type

Public Declare Sub OleCreatePictureIndirect Lib "olepro32.dll" ( _
  lpPictDesc As PICTDESC, _
  riid As IID, _
  ByVal fPictureOwnsHandle As Long, _
  ipic As IPicture)
Public Declare Function CreateCompatibleDC& Lib "gdi32" (ByVal hdc As Long)
Public Declare Function CreateCompatibleBitmap& Lib "gdi32" ( _
  ByVal hdc As Long, _
  ByVal nWidth As Long, _
  ByVal nHeight As Long)
Public Declare Function DeleteDC& Lib "gdi32" (ByVal hdc As Long)
Public Declare Function SelectObject& Lib "gdi32" ( _
  ByVal hdc As Long, _
  ByVal hObject As Long)
Public Declare Function DeleteObject& Lib "gdi32" (ByVal hObject As Long)


       以上代码来自: 源代码数据库(SourceDataBase)
           当前版本: 1.0.436
               作者: Shawls
           个人主页: Http://Shawls.Yeah.Net
             E-Mail: ShawFile@163.Net
                 QQ: 9181729

图象与图像的区别

研究图像处理的人查看论文的时候经常会遇到"图像“,”图象“的2种说法,今天好奇,想知道哪一种是正确的,在网上查了一下,得到如下结论:根据现行国家规范,“图像”是正确的,“图象”是错误的。“像”与“象”...
  • wqvbjhc
  • wqvbjhc
  • 2010年12月01日 10:13
  • 24216

更改数据库编码的sql语句

SETcharacter_set_client = utf8 ; SET character_set_connection = utf8 ; SHOW VARIABLES LIKE ‘char...
  • u014362204
  • u014362204
  • 2014年11月05日 22:37
  • 269

转 ffmpeg图象倒置

转 ffmpeg图象倒置 2012-02-07 3:01 P.M.   用FFMPEG 开发在DirectShow 环境下生成FLV的筛选器(Filter)的时候,碰到了一...
  • cosmoslife
  • cosmoslife
  • 2012年05月24日 22:26
  • 835

3D图象算法(转)

可视化编辑器,alt+1到9键,切换到工具区,tab键,选择按钮,esc键,返回编辑  3D简介    我们首先从坐标系统开始。你也许知道在2D里我们经常使用Ren?笛卡儿坐标系统在平面上来识别...
  • gggg_ggg
  • gggg_ggg
  • 2015年04月07日 14:22
  • 2575

图象转换上

图象转换上功能 Picture对象相关操作类别 模块 Option Explicit**********************************************************...
  • shawls
  • shawls
  • 2002年02月24日 08:51
  • 1048

彩色图转灰度图的研究--最最Easy版本,python+opencv

今天才开始看转灰度图,一堆论文头都大了。
  • u013480370
  • u013480370
  • 2014年07月07日 11:34
  • 1544

图像类型间的转换

1.图像类型:     索引图像:包括一个数据矩阵X和一个色图阵MAP。矩阵元素值指向MAP中的特定颜色向量。     灰度图像:数据矩阵I,I中的数据代表了颜色灰度值。矩阵中的元素可以是do...
  • jiaojiao_if
  • jiaojiao_if
  • 2016年07月14日 08:41
  • 316

一阶逻辑转换到Kripke结构

反应系统(reactive system)  反应系统需要和环境频繁的发生作用且不会停止,具有以下特性: 状态(state):状态表示系统瞬时的快照或状态描述,主要可以用系统各个变量的变量值。 过渡(...
  • J_Crocodile
  • J_Crocodile
  • 2017年10月27日 21:49
  • 205

android中图像绘制

Canvas决定绘制什么, 而paint决定如何绘制              Canvas类封装了用作绘图表面的位图;它还提供了draw*方法来实现设计。        下面的列表提供了...
  • u013677866
  • u013677866
  • 2018年02月01日 14:10
  • 23

C# 图象的翻转(转)

using System;using System.Collections;using System.ComponentModel;using System.Drawing;using System....
  • jhxiaoma
  • jhxiaoma
  • 2005年11月25日 22:55
  • 2588
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:图象转换下
举报原因:
原因补充:

(最多只允许输入30个字)