掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Bitmapで (ID:123069)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
魔界の仮面弁士さん、ねろさん、夏の朝も天玉うどんさん ありがとうございます。 解決できました。 いろいろと試していたら、BackColorとBitmapは違うものということが分かり、 勉強になりました。本当に感謝です。 実験したソースは下に記載しておきます。 色々、試して過ぎて、めちゃくちゃになっていますが・・・・・ 今度は、彩度を下げたりとかのソースを作ってみます。 RGB色とHSB色の相互変換のソースは完成していますし・・・・・ Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim bit1 As Bitmap bit1 = New Bitmap(PictureBox1.Width, PictureBox1.Height) bit1 = CType(PictureBox1.Image, Bitmap) PictureBox1.Image = Nothing PictureBox1.Image = bit1 '試しに■を描画 Dim g As Graphics = Nothing Dim brush As Brush = Nothing g = Graphics.FromImage(PictureBox1.Image) brush = New SolidBrush(Color.Black) g.FillRectangle(brush, 5, 5, 5, 5) If Not g Is Nothing Then g.Dispose() g = Nothing End If If Not Brush Is Nothing Then Brush.Dispose() Brush = Nothing End If bit1 = CType(PictureBox1.Image, Bitmap) PictureBox1.Image = Nothing PictureBox1.Image = bit1 'グレースケール化 bit1 = CType(PictureBox1.Image, Bitmap) Dim bit2 As Bitmap Dim cls As Filter_Color : cls = New Filter_Color bit2 = cls.ConvertToGrayscale(bit1) PictureBox1.Image = Nothing PictureBox1.Image = bit2 End Sub Public Class Filter_Color '*************************************************************** 'グレースケール化 '--------------------------------------------------------------- '関数:ConvertToGrayscale '--------------------------------------------------------------- '第1引数:カラーのBitmapを渡す '戻り値 :グレースケールをBitmapで返す '*************************************************************** Public Function ConvertToGrayscale(ByVal source As Bitmap) As Bitmap Dim bm As New Bitmap(source.Width, source.Height) Dim RGBx As Integer, RGBy As Integer For RGBy = 0 To bm.Height - 1 For RGBx = 0 To bm.Width - 1 Dim c As Color = source.GetPixel(RGBx, RGBy) Dim Gray As Integer = CInt(c.R * 0.3 + c.G * 0.59 + c.B * 0.11) bm.SetPixel(RGBx, RGBy, Color.FromArgb(Gray, Gray, Gray)) Next Next Return bm End Function End Class
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.