【】Top

【】VB.NET
【】VB6.0

【】メールマガジンの購読
【】メールマガジンの解除






【】会社概要

【】お問い合わせ


姉妹サイト「バーチャルコネクション!」はこちらです。

姉妹サイト「七福神のメールでビンゴ!」はこちらです。

アイネットマコト

●24時間365日の安心をあなたにAT-LINK専用サーバ・サービスお勧めのサーバです。






画像をHTMLに変換する

.NET では、画像ファイルのデータを
HTMLのタグのカラー値に変換させることが可能です。


この機能を使えば、画像をモザイク加工したり、テキストレベルで
イメージプレビューさせることが可能です。
ここでは、簡単に、「画像URL」を指定して
データ取得後、htm形式のファイルをカレントパスへ作成して、
ブラウザで表示する場合での説明をしています。

フォームに次の様なコードを記述します


-----------VB.NETコーディングここから-------------------

1.フォームに、テキストボックスコントロールと
  ラベルコントロールを配置します。
    下記は、デフォルトのオブジェクトの名前と配置を示しています。

  ┏━━━━┓   ┏━━━━┓
  ┃Labale1 ┃   ┃TextBox1┃
  ┗━━━━┛   ┗━━━━┛
  ┏━━━━┓   ┏━━━━┓
  ┃Labale2 ┃   ┃TextBox2┃
  ┗━━━━┛   ┃※複数行┃
                 ┃        ┃
                 ┗━━━━┛


2.テキストボックスコントロール TextBox2は、
    複数行の入力とするため、
    Multiline プロパティを True にします。(複数行)
    ScrollBars プロパティを Vertical にします。(スクロールバー)


3.配置したコントロールの
    ラベルのテキストを入力項目にあわせて変更します。

  ┏━━━━┓   ┏━━━━┓
  ┃画像URL ┃   ┃TextBox3┃
  ┗━━━━┛   ┗━━━━┛
  ┏━━━━┓   ┏━━━━┓
  ┃画像HTML┃   ┃TextBox4┃
  ┗━━━━┛   ┃        ┃
                 ┃        ┃
                 ┗━━━━┛


4.フォームの一番下に、ボタンコントロールを配置します。
     (デフォルトのオブジェクトの名前 Button1)

  ┏━━━━┓   ┏━━━━┓
  ┃画像URL ┃   ┃TextBox3┃
  ┗━━━━┛   ┗━━━━┛
  ┏━━━━┓   ┏━━━━┓
  ┃画像HTML┃   ┃TextBox4┃
  ┗━━━━┛   ┃        ┃
                 ┃        ┃
                 ┗━━━━┛


           ┏━━━━┓
           ┃Button1 ┃
           ┗━━━━┛



5.ボタンコントロールの
    text プロパティに「変換」と記述します。
  ※説明用のためです。必須ではありません。


  ┏━━━━┓   ┏━━━━┓
  ┃画像URL ┃   ┃TextBox3┃
  ┗━━━━┛   ┗━━━━┛
  ┏━━━━┓   ┏━━━━┓
  ┃画像HTML┃   ┃TextBox4┃
  ┗━━━━┛   ┃        ┃
                 ┃        ┃
                 ┗━━━━┛


           ┏━━━━┓
           ┃変換    ┃
           ┗━━━━┛



6.ボタンコントロールをダブルクリックして、
    ボタンのクリックイベントの編集を開始して、
    フォームの宣言部に、次のコードを記述します。

    Imports System.Net
    Imports System.Text
    Imports System.IO
    Imports System.Drawing


  さらに、次のコードを記述します。


    Private Sub Button1_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles Button1.Click

        Try

            Dim strUrl As String 'URL

            Dim myWebClient As New WebClient    'Web
            Dim strHtml As String

            'URLをセットします
            strUrl = TextBox1.Text




            Dim Stream1 As Stream = myWebClient.OpenRead(strUrl)

            '画像
            Dim Bitmap1 As Bitmap = New Bitmap(Stream1)

            Dim x As Integer
            Dim y As Integer

            strHtml = "<html>"

            strHtml = strHtml & "<head></head>"
            strHtml = strHtml & "<body>"
            strHtml = strHtml & "<table border=0>"

            For y = 0 To Bitmap1.Height - 1
                strHtml = strHtml & "<tr>"
                For x = 0 To Bitmap1.Width - 1
                    strHtml = strHtml & "<td width=1 bgcolor="

                    strHtml = strHtml & _
                    ColorTranslator.ToHtml(Bitmap1.GetPixel(x, y))

                    strHtml = strHtml & "></td>"
                Next
                strHtml = strHtml & "</tr>"
            Next
            strHtml = strHtml & "</table>"
            strHtml = strHtml & "</body>"
            strHtml = strHtml & "</html>"

            'ページソースを表示しています
            TextBox2.Text = strHtml



            'ディレクトリを取り出しています

            Dim strWorkPath As String
            Dim strPath As String
            Dim myWriter As StreamWriter

            strWorkPath = _
            System.Reflection.Assembly.GetExecutingAssembly.Location

            Dim myFileInfo As New System.IO.FileInfo(strWorkPath)
            strPath = myFileInfo.DirectoryName & "\imghtml.htm"

            'HTMLファイルを作成します。
            myWriter = New StreamWriter(strPath)
            myWriter.Write(strHtml)
            myWriter.Close()

            'ブラウザで表示します
            System.Diagnostics.Process.Start(strPath)


        Catch webEx As WebException
            'エラー
            TextBox2.Text = webEx.ToString()

        End Try


    End Sub




7.ビルドして実行します。

8.フォームに表示された
    「画像URL」欄に、取得したいURLを入力します。
     ※例) http://anetm.com/m/images/yoseiwaraua2.gif

9.フォームに表示された「取得」を押すと、
    「画像HTML」欄に、ページソースが表示されます。

10.画像をHTMLに変換したページソースファイルが同時に
  このアプリケーションのカレントパス(実行パス)に
    imghtml.htm として作成され、既定のブラウザで表示されます

11.画像がテーブルタグの背景カラーでドット表示されます


-----------VB.NETコーディングここまで-------------------

本サンプルでは、画像が小さいことを条件としています。
画像が大きいと、ループに時間を要します。

また、本サンプルは、画像そのものを作成するものではなく、
HTML の TABLE タグを利用したドット形式で、
画像のイメージを表示します。





 

http://anetm.com/dev/d.cgi?SC=DTDTL&o=OOw

Copyright(c)2001-2004 Ai Net Makoto 記事・情報の無断転載を禁止します。

「これがほしかった!厳選サンプルツール集」の注意点
●当サイトはリンクフリーです。
2005/10/06(木)00:05 更新