zoukankan      html  css  js  c++  java
  • 将图像转成HTML文件,VB.net源代码

    上次发过一个软件,见下文
    http://www.cnblogs.com/aowind/archive/2005/03/05/113429.html
    其软件的功能就是将一个图像转成HTML文件,就是用一些自定义的数字通过不同的色彩来表现出这个图像
    其效果如下:
    code.gif

    经过小弟研究了一下,在vb.net中写出了相同实现功能的代码
    功能实现主要是应用到system.drawing.bitmap,和其方法getpixel()
    主要代码如下:

    Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles Button1.Click
            
    Dim bit As System.Drawing.Bitmap
            bit 
    = bit.FromFile("c:\aowindme.bmp"'读取一个图像文件
            Dim w, h As Integer
            w 
    = bit.Width - 1 '取得图像每行的像素量
            h = bit.Height - 1 '取得图像的行数
            Dim pixel As System.Drawing.Color(,) '定义一个类型为系统色彩型的二维数组,来存放图片的所有像系的色彩信息
            pixel = New System.Drawing.Color(w, h) {} '根据图像的像系每行数量和行量来重新定义数组下标
            Dim i, j
            
    '利用循环把图像所有像素的色彩信息对应存入数组
            For i = 0 To h
                
    For j = 0 To w
                    pixel(j, i) 
    = bit.GetPixel(j, i)
                
    Next
            
    Next
            
    Dim content As String '定义一个字符串来存放要写入html的内容
            content = toweb(w, h, pixel) '生成写入html的内容
            Dim y As Boolean '定义一个逻辑变量来判断是否写入成功
            y = SaveTextFile("c:\999.htm", content) '写入html文件
            If y Then MsgBox("ok!")
        
    End Sub


        
    '得到一个RGB信息的相应WEB代码
        Private Function GetWEBColorinfo(ByVal x As Color) As String
            
    Dim r, g, b As String
            r 
    = Hex(CInt(x.R)) '取得一个像素色彩信息中的R信息,转成16进制后存成字符串型
            g = Hex(CInt(x.G)) '取得一个像素色彩信息中的R信息,转成16进制后存成字符串型
            b = Hex(CInt(x.B)) '取得一个像素色彩信息中的R信息,转成16进制后存成字符串型
            '如果不足两位的在前面加0,因为WEB色彩表示应为#+R(两位16进制)+G(两位16进制)+B(两位16进制)
            If r.Length = 1 Then r = "0" & r
            
    If g.Length = 1 Then g = "0" & g
            
    If b.Length = 1 Then b = "0" & b
            
    Return "#" & r & g & b
        
    End Function


        
    '生成要写处html文件的字符串,即html文件的内容
        Private Function toweb(ByVal w As IntegerByVal h As IntegerByVal pixel As Color(,)) As String
            
    Dim html As String
            html 
    = "<html><head><title>傲风图像网页生成</title></head><body bgcolor='#000000'><center>" & vbCrLf
            
    Dim i, j
            
    For i = 0 To h
                
    For j = 0 To w
                    html 
    = html & "<font color='" & GetWEBColorinfo(pixel(j, i)) & "'>" & Int(Rnd(10* 10& Int(Rnd(10* 10& "</font>"
                Next
                html 
    = html & "<br>" & vbCrLf
            
    Next
            html 
    = html & "</center></body></html>"
            Return html
        
    End Function

        
    '写入文件函数
        Private Function SaveTextFile(ByVal FilePath As StringByVal FileContent As StringAs Boolean
            
    Dim sw As System.IO.StreamWriter
            
    Try
                sw 
    = New System.IO.StreamWriter(FilePath, False)
                sw.
    Write(FileContent)
                
    Return True
            
    Catch e As Exception
                
    Return False
            
    Finally
                
    If Not sw Is Nothing Then sw.Close()
            
    End Try
        
    End Function

    还请大虾位指教!
  • 相关阅读:
    Spring Boot学习(三)解析 Spring Boot 项目
    Spring Boot学习(二)搭建一个简易的Spring Boot工程
    Spring Boot学习(一)初识Spring Boot
    Spring学习(十)Spring知识点汇总
    Oracle学习(十六)Oracle安装
    Spring学习(九)Spring 和数据库编程【了解】
    Spring学习(八)AOP详解
    Spring学习(七)bean装配详解之 【通过注解装配 Bean】【自动装配的歧义解决】
    Spring学习(六)bean装配详解之 【通过注解装配 Bean】【基础配置方式】
    Spring学习(五)bean装配详解之 【XML方式配置】
  • 原文地址:https://www.cnblogs.com/aowind/p/115442.html
Copyright © 2011-2022 走看看