ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南

[分享] 将图片像素点颜色读取到单元格进行绘图

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2020-11-10 10:40 | 显示全部楼层
BMP图片填充数据到表格中
Sub matrix() '填充像素数据   OK
Dim 文件数据() As Byte, 字符数据() As String
Dim 文件长度 As Long, i As Long
Dim 文件字符串 As String
Dim xs As String
文件长度 = FileLen("C:\Users\wuc\Desktop\AAAAAAA\2.bmp")
ReDim 文件数据(1 To 文件长度)
Open "C:\Users\wuc\Desktop\AAAAAAA\2.bmp" For Binary As #1
Get #1, , 文件数据
Close #1
ReDim 字符数据(1 To 文件长度)
For i = 1 To 文件长度
字符数据(i) = Hex(文件数据(i))
Next
ddd = 55
For ii = 900 To 1 Step -1
    For j = 1 To 1600 Step 1
    '从第55个字节开始,每个像素三个字节
        xs = "'" & 字符数据(ddd) & 字符数据(ddd + 1) & 字符数据(ddd + 2)
       ThisWorkbook.Worksheets("图像二进制数据矩阵").cells(ii, j) = xs
        ddd = ddd + 3
        Next j
Next ii
End Sub

TA的精华主题

TA的得分主题

发表于 2020-11-10 10:42 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
给表格上色
Sub cellssize() '标准化表格大小
For i = 1 To 1600 Step 1
With Sheet7.cells(1, i)
.ColumnWidth = Application.CentimetersToPoints(0.1875 / 1)
End With
Next

For i = 1 To 900 Step 1
With Sheet7.cells(i, 1)
.RowHeight = Application.CentimetersToPoints(0.1875 * 5.3007518 * 1.04 / 1)
End With
Next

End Sub

Sub setcolor()

For ii = 900 To 1 Step -1
    For j = 1 To 1600 Step 1
    '从第55个字节开始,每个像素三个字节
        'xs = 字符数据(ddd) & 字符数据(ddd + 1) & 字符数据(ddd + 2)
        string1 = ThisWorkbook.Worksheets("图像二进制数据矩阵").cells(ii, j)
        datelong = Len(ThisWorkbook.Worksheets("图像二进制数据矩阵").cells(ii, j))
        If datelong > 4 Then
            bb = Mid(string1, 1, datelong - 4)
            gg = Mid(string1, datelong - 4 + 1, 2)
            rr = Mid(string1, datelong - 2 + 1, 2)
        End If
        
         If datelong = 4 Then
            bb = 0
            gg = Mid(string1, datelong - 4 + 1, 2)
            rr = Mid(string1, datelong - 2 + 1, 2)
        End If
        
        If datelong = 3 Then
            bb = 0
            gg = Mid(string1, 1, 1)
            rr = Mid(string1, datelong - 2 + 1, 2)
        End If
        
        
         If datelong <= 2 Then
            bb = 0
            gg = 0
            rr = string1
        End If
        
        If datelong = 0 Then
            bb = 0
            gg = 0
            rr = 0
        End If
        
        bb = Application.WorksheetFunction.Hex2Dec(bb)
        gg = Application.WorksheetFunction.Hex2Dec(gg)
        rr = Application.WorksheetFunction.Hex2Dec(rr)
        
        
        
     
        
       ThisWorkbook.Worksheets("图像二进制数据矩阵").cells(ii, j).Interior.Color = RGB(rr, gg, bb)
        'ddd = ddd + 3
        Next j
Next ii



End Sub

TA的精华主题

TA的得分主题

发表于 2023-5-5 11:54 | 显示全部楼层
工程1.dll是什么,什么软件写的,还是哪里下载的
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-17 05:37 , Processed in 0.032464 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表