| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 588 人关注过本帖
标题:EXCELL 文档转换成图片,32 位图如何转换成 24 位图
只看楼主 加入收藏
听水吟
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2014-9-16
结帖率:33.33%
收藏
已结贴  问题点数:20 回复次数:3 
EXCELL 文档转换成图片,32 位图如何转换成 24 位图
Public Function ConvertExcelTOImage() As String
        Dim excelFilePath As String = "E:\Picture\运行图甲.xls"
        Dim SaveExcelJPG As String = "E:\Picture\111.bmp"
        Dim app As Microsoft.Office.Interop.Excel.Application = New Microsoft.Office.Interop.Excel.Application()
        app.CutCopyMode = False
        app.Visible = False
        Dim objMis As Object = Type.Missing
        Dim singleExcel As Microsoft.Office.Interop.Excel.Workbook = app.Workbooks.Open(excelFilePath, objMis, objMis, objMis, objMis, objMis, objMis, objMis, objMis, objMis, objMis, objMis, objMis, objMis, objMis)
        Try
            Dim wsheet As Microsoft.Office.Interop.Excel.Worksheet = singleExcel.Worksheets(1)
            Dim ranobj As Object = DBNull.Value
            wsheet.Range("B2", "G3").Copy(ranobj)
            Dim iData As IDataObject = Clipboard.GetDataObject()
            Dim bits As Bitmap = iData.GetData(DataFormats.Bitmap)
            Dim myBitmap As Bitmap = New Bitmap(bits.Width, bits.Height)
            Dim g As Graphics = Graphics.FromImage(myBitmap)
            g.DrawImage(bits, -1, -1)
            myBitmap.Save(String.Format(SaveExcelJPG, Guid.NewGuid()))
            Clipboard.Clear()
            myBitmap.Dispose()
            bits.Dispose()
            Return ""
        Catch ex As Exception
            ' KillProcess("EXCEL")
            Return ex.Message
        Finally
            Clipboard.Clear()
            ' KillProcess("EXCEL")
        End Try
    End Function
上述程序是,将EXCELL文件转换成32位图图片,如何能让转换的图片是24位的呢?
搜索更多相关主题的帖子: Object 运行图 False 图片 如何 
2014-10-11 15:17
听水吟
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2014-9-16
收藏
得分:0 
或者有人可以帮我分析一下每个语句的意思吗?
2014-10-11 15:45
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4943
专家分:30067
注 册:2008-10-15
收藏
得分:20 
是前面是准备工作。定义对象,打开文件。
            wsheet.Range("B2", "G3").Copy(ranobj)       放剪切板
            g.DrawImage(bits, -1, -1)                   不懂
            myBitmap.Save(String.Format(SaveExcelJPG, Guid.NewGuid()))          保存
后面是一些清理工作

我现在还没搞懂 BMP 里32位图与 24位图的分别。
24位BMP,是直接上的 RGB 了,也就是 没有调色板了。
那 32位的BMP,每个像素 除掉每色对应的 8位外,还剩下 8位是什么?? 我不知道。

VB6里,是24位BMP。
我前面写了一个 这种程序的代码段,好像是你吗?
提供的示例在VB6里运行是 一大堆错误的

授人于鱼,不如授人于渔
早已停用QQ了
2014-10-11 17:18
听水吟
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2014-9-16
收藏
得分:0 
回复 3 楼 风吹过 b
那个帖子也是我发的
2014-10-13 09:12
快速回复:EXCELL 文档转换成图片,32 位图如何转换成 24 位图
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014304 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved