将图片控件中的图片保存为图片文件BMP、JPG、PNG、GIF、TIFF

将图片控件中的图片保存为图片文件


本例函数可以将图片控件中的图片,保存为多种图片文件格式,

调用例子

Dim FlName As String
FlName = Application.GetSaveAsFilename("二维码图片_" & Format(Now(), "yyyymmddhhmm"), "图片文件(*.jpg),*.jpg", , "保存二维码为图片")
If FlName = "False" Then MsgBox "二维码图片未保存", vbInformation + vbOKOnly, "保存二维码为图片": Exit Sub
SavePicToFile Image1.Picture, FlName
MsgBox "二维码图片保存成功!" & vbCrLf & FlName, vbInformation + vbOKOnly, "保存二维码为图片"

函数例子

Private Type GUID
    Data1 As Long
    Data2 As Integer
    Data3 As Integer
    Data4(0 To 7) As Byte
End Type
Private Type GdiplusStartupInput
    GdiplusVersion As Long
    DebugEventCallback As Long
    SuppressBackgroundThread As Long
    SuppressExternalCodecs As Long
End Type
Private Type EncoderParameter
    nGUID As GUID
    NumberOfValues As Long
    Type As Long
    Value As Long
End Type
Private Type EncoderParameters
    Count As Long
    Parameter As EncoderParameter
End Type
Enum PicType
   p_BMP
   p_JPG
   p_GIF
   p_PNG
   p_TIFF
End Enum
Private Declare Function GdiplusStartup Lib "GDIPlus" (token As Long, inputbuf As GdiplusStartupInput, Optional ByVal outputbuf As Long = 0) As Long
Private Declare Function GdiplusShutdown Lib "GDIPlus" (ByVal token As Long) As Long
Private Declare Function GdipCreateBitmapFromHBITMAP Lib "GDIPlus" (ByVal hbm As Long, ByVal hPal As Long, BITMAP As Long) As Long
Private Declare Function GdipDisposeImage Lib "GDIPlus" (ByVal Image As Long) As Long
Private Declare Function GdipSaveImageToFile Lib "GDIPlus" (ByVal Image As Long, ByVal FileName As Long
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现这个功能,你需要使用 MFC 的 CButton 和 CPictureCtrl 件。下面是示例代码: 1. 在对话框上添加一个按钮和一个图片件。 2. 双击对话框,打开对话框类的 .cpp 文件。 3. 在类的头文件 (.h) 添加以下代码: ``` #include "PictureCtrl.h" class CYourDialog : public CDialogEx { // ... private: CButton m_btnLoadImage; CPictureCtrl m_picCtrl; CBitmap m_bitmap; // ... }; ``` 4. 在 OnInitDialog() 函数添加以下代码: ``` BOOL CYourDialog::OnInitDialog() { CDialogEx::OnInitDialog(); // ... // 初始化按钮 m_btnLoadImage.SubclassDlgItem(IDC_BUTTON_LOAD_IMAGE, this); m_btnLoadImage.SetWindowText(_T("Load Image")); // 初始化图片件 m_picCtrl.SubclassDlgItem(IDC_STATIC_PICTURE, this); return TRUE; } ``` 5. 在按钮的单击事件添加以下代码: ``` void CYourDialog::OnBnClickedButtonLoadImage() { // 打开文件对话框,选择图片文件 CFileDialog fileDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, _T("BMP Files (*.bmp)|*.bmp|All Files (*.*)|*.*||"), this); if (fileDlg.DoModal() == IDOK) { // 载入图片 CString pathName = fileDlg.GetPathName(); m_bitmap.LoadBitmap(pathName); m_picCtrl.SetBitmap(m_bitmap); } } ``` 6. 编译运行程序,点击按钮选择一张 BMP 图片图片将会显示在图片。 注意:CPictureCtrl 件需要使用 PictureCtrl.h 和 PictureCtrl.cpp 文件,可以在网上下载。此示例代码仅支持 BMP 图片,如果需要支持其他格式的图片,需要进行相应的修改。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值