如何在vb6中将bmp转换为jpg

2023-11-22

如何在vb6中将bmp转换为jpg?


检查这个link

    'Convert BMP to JPG with this code. (Note: Requires vic32.dll available from
'http://www.catenary.com/)

'PLACE ALL THIS IN A NEW MODULE

Declare Function bmpinfo Lib "VIC32.DLL" (ByVal Fname As String, bdat As BITMAPINFOHEADER) As Long
Declare Function allocimage Lib "VIC32.DLL" (image As imgdes, ByVal wid As Long, ByVal leng As Long, ByVal BPPixel As Long) As Long
Declare Function loadbmp Lib "VIC32.DLL" (ByVal Fname As String, desimg As imgdes) As Long
Declare Sub freeimage Lib "VIC32.DLL" (image As imgdes)
Declare Function convert1bitto8bit Lib "VIC32.DLL" (srcimg As imgdes, desimg As imgdes) As Long
Declare Sub copyimgdes Lib "VIC32.DLL" (srcimg As imgdes, desimg As imgdes)
Declare Function savejpg Lib "VIC32.DLL" (ByVal Fname As String, srcimg As imgdes, ByVal quality As Long) As Long



' Image descriptor
Type imgdes
  ibuff As Long
  stx As Long
  sty As Long
  endx As Long
  endy As Long
  buffwidth As Long
  palette As Long
  colors As Long
  imgtype As Long
  bmh As Long
  hBitmap As Long
End Type

Type BITMAPINFOHEADER
   biSize As Long
   biWidth As Long
   biHeight As Long
   biPlanes As Integer
   biBitCount As Integer
   biCompression As Long
   biSizeImage As Long
   biXPelsPerMeter As Long
   biYPelsPerMeter As Long
   biClrUsed As Long
   biClrImportant As Long
End Type

'PLACE THIS IN YOUR FORM DECLERATIONS

Private Sub ConvertToJPEG(bmp_fname As String, jpg_fname As String, Optional quality As Long)
  Dim tmpimage As imgdes    ' Image descriptors
  Dim tmp2image As imgdes
  Dim rcode As Long
  'Dim quality As Long
  Dim vbitcount As Long
  Dim bdat As BITMAPINFOHEADER ' Reserve space for BMP struct
  'Dim bmp_fname As String
  'Dim jpg_fname As String

  'bmp_fname = "test.bmp"
  'jpg_fname = "test.jpg"

  If quality = 0 Then quality = 75

   ' Get info on the file we're to load
  rcode = bmpinfo(bmp_fname, bdat)
  If (rcode <> NO_ERROR) Then
     msgbox "error: Unable to get file info"
     Exit Sub
  End If

  vbitcount = bdat.biBitCount
  If (vbitcount >= 16) Then  ' 16-, 24-, or 32-bit image is loaded into 24-bit buffer
     vbitcount = 24
  End If

   ' Allocate space for an image
  rcode = allocimage(tmpimage, bdat.biWidth, bdat.biHeight, vbitcount)
  If (rcode <> NO_ERROR) Then
    msgbox "error: Not enough memory"
    Exit Sub
  End If

   ' Load image
  rcode = loadbmp(bmp_fname, tmpimage)
  If (rcode <> NO_ERROR) Then
     freeimage tmpimage ' Free image on error
     msgbox "error: Cannot load file"
     Exit Sub
  End If

  If (vbitcount = 1) Then ' If we loaded a 1-bit image, convert to 8-bit grayscale
      ' because jpeg only supports 8-bit grayscale or 24-bit color images
    rcode = allocimage(tmp2image, bdat.biWidth, bdat.biHeight, 8)
    If (rcode = NO_ERROR) Then
        rcode = convert1bitto8bit(tmpimage, tmp2image)
        freeimage tmpimage  ' Replace 1-bit image with grayscale image
        copyimgdes tmp2image, tmpimage
    End If
  End If

  ' Save image
  rcode = savejpg(jpg_fname, tmpimage, quality)
  freeimage tmpimage
  Kill bmp_fname
  msgbox "picture saved: " & jpg_fname

End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在vb6中将bmp转换为jpg 的相关文章

  • VB6中VarType返回的vbError是什么?

    我一直在网上搜索这个 但一切都在谈论ErrObject类 或常量vbError由返回VarType功能 我想知道那个类型实际上是什么is 例如一个integer是这样的4 a string是这样的 hello world etc 对于一点背
  • 如何将 opencv mat 图像转换为 gdi 位图

    我想将 openCV Mat 文件转换为 GDI 位图图像 我找不到任何有关如何执行此操作的信息 我认为没有直接的方法可以做到这一点 但我希望它不涉及将其写入文件并读回 http opencv users 1802565 n2 nabble
  • 我想在 Windows 10 操作系统上安装 VB6。我需要处理 VBP 项目,所以我必须无缝安装 VB6

    我已经设置了VB6企业版 但无法完成安装 挂起 我已尝试通过以下链接安装程序 http nuke vbcorner net Tools VisualStudio6Installer tabid 93 language it IT Defau
  • 如何在滚动框上创建缓慢的滚动效果?

    我喜欢在滚动框中平移图像后创建平滑的减慢滚动效果 就像平移地图一样谷歌地图 http maps google com 我不确定它是什么类型 但行为完全相同 当快速移动地图时 当您释放鼠标时它不会立即停止 而是开始减慢速度 有什么想法 组件
  • 将图像保存和检索到数据库的最佳方法

    寻求上述建议 希望创建一个 SQLite 数据库 其中每行数据主要是字符串 但我也想保存从手机拍摄的图像 是否建议或可能保存位图图像的编码 Base 64 字符串并在调用数据行时将其转换回图像 我还在某处读到有一个 blob 列类型可以保存
  • HTTP 重定向图像可以吗?

    返回图片资源时返回301 302 303代码可以吗 我过去曾这样做过 而且似乎有效 这是好的做法吗 它与大多数浏览器兼容吗 是的 您可以重定向图像 浏览器将遵循重定向 但出于性能原因 您通常希望将重定向保持在最低限度 因为每个重定向都需要单
  • 如何在joomla中上传文件?

    您好 我正在 joomla 中制作一个简单的组件 其中包含名称图像详细信息 我必须上传该图像 如何从后端上传图像 使用扩展或定制哪个更好 你能分享任何关于它的好文章吗 我搜索了更多 但由于缺乏对 joomla 的了解 找不到 希望各位天才们
  • Google API 返回的 Google+ 个人资料图片网址是否会发生变化?

    因此 我使用 Google API 通过用户的 user id 来获取人们的个人资料图片 Google API 返回如下 JSON image url https lh5 googleusercontent com OGjgCn9fCPk
  • 如何在android中使图像适合圆形框架

    我有一个ListView其中有一个ImageView 图像中ImageView从服务器获取后动态加载 现在 我想要将这些任意大小的图像放入圆形框架中 该怎么做 这是我想要的示例图片 在之前答案的帮助下 我想出了这个解决方案 希望它对其他人有
  • 如何使用 C# 将 Windows 窗体面板作为位图获取?

    我有一个 Windows 窗体 其中一个面板上有多个控件 面板并不占据所有的表单空间 而只占据一小部分 我想知道是否有某种方法可以将面板 带有所有子控件 的显示检索为位图 就像屏幕截图一样 但仅裁剪到面板 我没有查看屏幕截图 因为面板位于可
  • 使应用程序背景适合不同设备的最佳方法

    因此 我希望通过一些漂亮的背景图像等来为我的应用程序增添一点趣味 但我很好奇的是如何确保不同的机器人正确渲染 我将在文本后面设置背景 并且我需要确保它们对于每个不同的屏幕尺寸和分辨率具有相同的尺寸和位置 有这方面好的教程吗 Thanks E
  • VB 6源代码,语音文本是法语想要翻译成英语[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个可能对我有用的程序 但文档和所有工具提示均采用我无法阅读的语言 源代码是可用的 整个事情大约有 84 000 行代码 我的问题
  • 使用 OpenCV 和 Python 叠加两个图像而不丢失颜色强度

    如何叠加两个图像而不损失两个图像的颜色强度 我有图像1和图像2 2 我尝试使用 0 5 alpha 和 beta 但它给我的合并图像的颜色强度只有一半 dst cv2 addWeighted img1 0 5 img2 0 5 0 但是当我
  • React Native 中文本的图像识别

    这可能是一个疯狂的问题 但我已经看到应用程序完成了 是否有任何类型的 API 可用于识别图像中的文本 Chase 识别支票上的数字的方式 或者是否有一个 API 可用于搜索 比如谷歌 基于图像的信息 例如 如果我拍了一张企业徽标的照片 谷歌
  • CUDA 中的 JPEG 库

    我正在尝试在 CUDA 中压缩和解压缩图像 到目前为止我已经找到了这个库 http sourceforge net projects cuj2k source navbar http sourceforge net projects cuj
  • 减少非常大图像的文件大小,而不改变图像尺寸

    考虑一个处理可能非常大的 PNG 文件上传的应用程序 所有上传的文件必须存储到磁盘以供以后检索 但是 PNG 文件的大小最大可达 30 MB 但磁盘存储限制规定每个文件的最大大小为 1 MB 问题是获取文件大小高达 30 MB 的输入 PN
  • Java - 调整图像大小而不损失质量

    我有 10 000 张照片需要调整大小 因此我有一个 Java 程序来执行此操作 不幸的是 图像的质量损失很大 而且我无法访问未压缩的图像 import java awt Graphics import java awt AlphaComp
  • 移动/调整窗口大小时闪烁

    我开发了一个显示 jpeg 图像的应用程序 它可以显示 4 个图像 屏幕的每个象限各一个 为此 它使用了 4 个窗口 窗口没有边框 框架 也没有标题栏 当加载新图像时 窗口大小会根据新图像进行调整 然后显示该图像 尤其是当窗户做得较大时 经
  • 为什么我的图像下方有空间? [复制]

    这个问题在这里已经有答案了 图像在下面获得了神秘的空白空间 即使padding 0 margin 0被应用 示范 http jsfiddle net cLETP 红色边框应该包围图像 但底部有空间 造成这种情况的原因是什么 如何删除该空间
  • Android 相机未保存在特定文件夹 [MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA]

    当我在 Intent 中使用 MediaStore INTENT ACTION STILL IMAGE CAMERA 时遇到问题 相机正常启动 但它不会将文件保存在我的特定文件夹 photo 中 但是当我使用 MediaStore ACTI

随机推荐

  • 捕获由 Makefile 启动的后台进程的 PID

    我有一个启动 Django Web 服务器的 Makefile 我希望服务器在后台启动 并将 PID 保存到文件中 我的食谱是这样的 run venv PYTHON APP manage py runserver 80 直观地说 要使进程后
  • 如何验证由 createCustomToken() 创建的自定义 Firebase 身份验证令牌

    我通过 createCustomToken 创建了自定义身份验证令牌 请参阅https firebase google com docs auth admin create custom tokens 但后来当我尝试通过 verifyIdT
  • 从 iOS 将数据发送到 PHP 脚本

    我正在尝试以下代码 该代码在用户在字段 标题 描述 城市 中输入数据然后单击 保存 后执行 IBAction saveDataAction id sender NSString lEventTitle NSString stringWith
  • 使用 jquery 粘性标题

    我想创建多个两个粘性标题 就像在该网站中一样 http www trendyol com Kappa ButikDetay 8690当您向下滚动时 第一个标题与第二个粘性元素结合在一起 说完 两人一起往下走 我该怎么做 感谢提前支持 实现这
  • 将数据表导出到 Excel 文件

    我有一个包含 30 多列和 6500 多行的 DataTable 我需要将整个 DataTable 值转储到 Excel 文件中 任何人都可以帮助编写 C 代码吗 我需要每个列值都在一个单元格中 准确地说 我需要 Excel 文件中数据表的
  • Mongo ObjectID:在野外使用安全吗?

    我正在设计一个与 MongoDB 交互的 API 现在的问题是 如果是safe使用原始 ObjectID 来查询对象等 直接使用 OID 时 例如在查询中 是否会出现任何安全问题 或者我应该在它们离开我的服务器环境之前对其进行加密 解密 查
  • 如何在 iPhone x 中设置安全区域布局

    我正在开发 Xamarin 表单应用程序 我的应用程序似乎在顶部设置了安全区域 但需要忽略它 当前场景 例外场景 我已经用谷歌搜索了这个问题并得到了下面的链接 按照下面的链接中提到的方式进行了尝试 但没有任何效果 https forums
  • 寻找积极维护的 php 矩阵数学库

    有谁知道我在哪里可以找到仍在积极维护的 PHP 矩阵数学库 我需要能够执行基本的矩阵运算 例如归约 转置 包括非方阵 求逆 行列式等 这个问题过去被问过 然后没有答案就关闭了 现在我需要同一问题的答案 请参阅相关问题的链接 PHP 中的矩阵
  • 错误 - “gem install Rails” - libxml2 丢失

    我一直在研究 Rails 安装说明 http railsapps github io installrubyonrails mac html 一切都很好 直到我到达gem install rails部分下新轨道应用 当我运行时 我发现 li
  • Firebase 云消息传递 (FCM) - HTTP V1 API 还是旧版 HTTP API?

    我们的目标是将通知发送至设备组从我们的后端 并且只有从服务器端才能知道哪个设备应该接收通知 我们已经对 AppCenter 进行了一些尝试 因为我们主要使用 Xamarin iOS Android Forms 但现在我们怀疑直接使用 Fir
  • 获取远程注册表值

    我有下面的脚本 我希望它发送到多个服务器并获取注册表的值 不幸的是 它目前只是回发我正在运行脚本的计算机的本地注册表值 如何让脚本针对远程注册表运行 SCRIPT clear ErrorActionPreference silentlyco
  • 与 rpath 的动态链接在 Ubuntu 17.10 下不起作用

    我构建了一个 R 包 它使用 Rcpp 并链接到第三方共享对象 libbarraopt so 它还链接到其他共享对象 例如liboptsrvr so在它自己的目录中 为了确保它能够找到它链接的那些共享对象 我将以下变量放入 Renviron
  • 如何使用委托将数据从自定义单元格传递到父视图中的标签

    我已经弄清楚如何在其他情况下在视图与代表之间传递数据 但这一个难倒了我 在此示例中 我尝试使用委托模式将按下按钮产生的数据发送到标签 但没有成功 我的猜测是 我在这里遗漏了一些基本的东西 并且我还没有找到任何以这种方式处理代表的例子 Vie
  • 将新行数据添加到gridview asp.net c#

    我用这段代码创建了一个类 public class Customer public Customer public Customer Customer cust ID cust ID Name cust Name FatherName cu
  • 删除 HTML 或 ASPX 扩展

    在托管的 IIS7 环境中 我正在寻找使用无扩展名文件名的最简单方法 只是我有以下页面 index html or aspx gt example com gallery html gt example com gallery videos
  • C# 图像大小调整 - 丢失 EXIF

    是的 是的 我看过与此问题相关的其他帖子 是的 我已经用谷歌搜索过它 但到目前为止 我还没有达到我需要的结果 我正在加载以 300 dpi 拍摄的大图像 并且需要调整其大小 我知道 我知道 dpi 是相对的 并不重要 重要的是像素尺寸 DP
  • 具有不同 UsernamePasswordAuthToken 的多个 AuthenticationProvider 用于验证不同的登录表单,无需后备身份验证

    在使用 spring security 时 我在 stackoverflow 中看到了有趣的线程 其中需要进行身份验证两组用户反对不同的身份验证提供商说员工反对LDAP和客户反对DATABASE Thread 提出了一种公认的解决方案 即使
  • Gradle 不从本地 jar 下载传递依赖项

    我在本地有一个依赖项 但 Gradle 似乎没有采用位于 pom 中找到的传递依赖项META INF maven pom xml Gradle 可以从那里获取传递依赖吗 如果您将 jar 托管在本地文件夹中 则需要遵守Maven 存储库目录
  • 如何使用 Azure AD B2C 在react-aad-msal 中使用“忘记密码”功能?

    我在用反应 aad msal使用 Azure AD B2C 我可以正常登录和退出 但是 当我单击 忘记密码 时 身份验证窗口消失并且没有任何反应 看来我需要指定 忘记密码 策略的名称 但我不知道该把它放在哪里 根据托尼的回答 将此代码添加到
  • 如何在vb6中将bmp转换为jpg

    如何在vb6中将bmp转换为jpg 检查这个link Convert BMP to JPG with this code Note Requires vic32 dll available from http www catenary co