サンプルについて
投稿者 Price  ()
投稿日時
2008/8/6 22:15:00
全て表示
投稿者 neptune  ()
投稿日時
2008/8/7 07:16:00
>>10
こんにちは
せっかくこのサイトは講座を用意してくれているのに利用させていただきましょう。取り合えず門講座、初級講座など。
今回は入門講座ですから入門講座から始めると良いです。
以下はクラスに付いて書いてます。
http://homepage1.nifty.com/rucio/VBNyumon/BEGIN10.htm
読んだ上で判らない所を質問したら効果的ですよ。
質問する側、アドバイスする側双方にとって。
こんにちは
せっかくこのサイトは講座を用意してくれているのに利用させていただきましょう。取り合えず門講座、初級講座など。
今回は入門講座ですから入門講座から始めると良いです。
以下はクラスに付いて書いてます。
http://homepage1.nifty.com/rucio/VBNyumon/BEGIN10.htm
読んだ上で判らない所を質問したら効果的ですよ。
質問する側、アドバイスする側双方にとって。
投稿者 Price  ()
投稿日時
2008/8/7 18:00:00
>>11こんにちは。
そうですね。少し自分で考えてみました。
クラスの方でこの様に記述したのですが
「Private Function Brighten() As Integer
End Function」
と書くと、一行目で
「名前空間のステートメントが無効です」と怒られてしまいます。
もう一つは、Brightenは何を返すのでしょうか?
Private~End Functionの間に何を入れたら良いでしょう?
そうですね。少し自分で考えてみました。
クラスの方でこの様に記述したのですが
「Private Function Brighten() As Integer
End Function」
と書くと、一行目で
「名前空間のステートメントが無効です」と怒られてしまいます。
もう一つは、Brightenは何を返すのでしょうか?
Private~End Functionの間に何を入れたら良いでしょう?
投稿者 るきお  ()
投稿日時
2008/8/7 21:50:00
話が複雑になってきましたが、
Formはクラスの一種ですから、Formの中に書けば良いわけです。
FunctionやSubはClassなどの中に書くことが前提となっていて、もしClassなどの外にFucntionやSubを書くとおっしゃるようなエラーになります。
今回の件では特にクラスに関する深い知識は必要なく、普通にFormの中に必要なコードをコピー&貼り付けするだけです。
そして、「必要なコード」もサンプルの中にすべてあるはずです。
http://homepage1.nifty.com/rucio/main/dotnet/Samples/Sample138ImageBrightness.htm
つまり、一例をあげるとこうなります。
Formはクラスの一種ですから、Formの中に書けば良いわけです。
FunctionやSubはClassなどの中に書くことが前提となっていて、もしClassなどの外にFucntionやSubを書くとおっしゃるようなエラーになります。
今回の件では特にクラスに関する深い知識は必要なく、普通にFormの中に必要なコードをコピー&貼り付けするだけです。
そして、「必要なコード」もサンプルの中にすべてあるはずです。
http://homepage1.nifty.com/rucio/main/dotnet/Samples/Sample138ImageBrightness.htm
つまり、一例をあげるとこうなります。
投稿者 るきお  ()
投稿日時
2008/8/7 21:52:00
C:\Test.bmpというファイルを読み込んでいる部分は、お手持ちの画像ファイルのパスに差し替えてください。
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
PictureBox1.Image = Image.FromFile("C:\test.bmp")
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
PictureBox1.Image = Brighten(PictureBox1.Image, -50)
PictureBox1.Refresh()
End Sub
'■Brighten
''' <summary>画像の明るさを設定する。</summary>
''' <param name="Source">対象の画像</param>
''' <param name="Alpha">明るさ。-255~の範囲で指定。</param>
''' <returns>明るさが設定された画像</returns>
Private Function Brighten(ByVal Source As Image, ByVal Alpha As Integer) As Bitmap
'▼引数のチェック
If IsNothing(Source) Then
Throw New NullReferenceException("Sourceに値が設定されていません。")
End If
If Alpha < -255 OrElse Alpha > 255 Then
Throw New ArgumentException("Alphaは-255 から255 の範囲で指定してください。")
End If
'▼Sourceのイメージをそのまま描画
Dim g As Graphics
Dim SourceImage As New Bitmap(Source.Width, Source.Height)
g = Graphics.FromImage(SourceImage)
g.DrawImage(Source, New Point(0, 0))
'▼Sourceのイメージの上に白い(黒い)長方形を重ねる
Dim MyBrush As SolidBrush
If Alpha > 0 Then
'白い長方形を作成
MyBrush = New SolidBrush(Color.FromArgb(Alpha, 255, 255, 255))
g.FillRectangle(MyBrush, Source.GetBounds(GraphicsUnit.Pixel))
Else
'黒い長方形を作成
MyBrush = New SolidBrush(Color.FromArgb(-Alpha, 0, 0, 0))
g.FillRectangle(MyBrush, Source.GetBounds(GraphicsUnit.Pixel))
End If
Return SourceImage
End Function
End Class
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
PictureBox1.Image = Image.FromFile("C:\test.bmp")
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
PictureBox1.Image = Brighten(PictureBox1.Image, -50)
PictureBox1.Refresh()
End Sub
'■Brighten
''' <summary>画像の明るさを設定する。</summary>
''' <param name="Source">対象の画像</param>
''' <param name="Alpha">明るさ。-255~の範囲で指定。</param>
''' <returns>明るさが設定された画像</returns>
Private Function Brighten(ByVal Source As Image, ByVal Alpha As Integer) As Bitmap
'▼引数のチェック
If IsNothing(Source) Then
Throw New NullReferenceException("Sourceに値が設定されていません。")
End If
If Alpha < -255 OrElse Alpha > 255 Then
Throw New ArgumentException("Alphaは-255 から255 の範囲で指定してください。")
End If
'▼Sourceのイメージをそのまま描画
Dim g As Graphics
Dim SourceImage As New Bitmap(Source.Width, Source.Height)
g = Graphics.FromImage(SourceImage)
g.DrawImage(Source, New Point(0, 0))
'▼Sourceのイメージの上に白い(黒い)長方形を重ねる
Dim MyBrush As SolidBrush
If Alpha > 0 Then
'白い長方形を作成
MyBrush = New SolidBrush(Color.FromArgb(Alpha, 255, 255, 255))
g.FillRectangle(MyBrush, Source.GetBounds(GraphicsUnit.Pixel))
Else
'黒い長方形を作成
MyBrush = New SolidBrush(Color.FromArgb(-Alpha, 0, 0, 0))
g.FillRectangle(MyBrush, Source.GetBounds(GraphicsUnit.Pixel))
End If
Return SourceImage
End Function
End Class
投稿者 Price  ()
投稿日時
2008/8/7 23:00:00
>>14
PictureBox1.Image = Image.FromFile("C:\test.bmp")
は、「PictureBox1の画像がC:\test.bmpである」
と言っているんだと思いますが、
元々PictureBox1に入っている画像があるので、
この部分が多少余分なのですが、切り取ることはできるでしょうか?
色々やってみましたがどれもエラーが出てしまい、
できませんでした。
きっと簡単なことなんでしょうが、どうしても出来ません・・・。
どうしたら、
PictureBox1.Image = Image.FromFile("C:\test.bmp")
を奇麗に取り除けるでしょうか?
PictureBox1.Image = Image.FromFile("C:\test.bmp")
は、「PictureBox1の画像がC:\test.bmpである」
と言っているんだと思いますが、
元々PictureBox1に入っている画像があるので、
この部分が多少余分なのですが、切り取ることはできるでしょうか?
色々やってみましたがどれもエラーが出てしまい、
できませんでした。
きっと簡単なことなんでしょうが、どうしても出来ません・・・。
どうしたら、
PictureBox1.Image = Image.FromFile("C:\test.bmp")
を奇麗に取り除けるでしょうか?
投稿者 るしぇ  ()
投稿日時
2008/8/7 23:34:00
>>15
その行を丸々削除してテストしましたが、何のエラーも出ませんでしたよ?
PictureBox1 への画像の追加はデザイン画面で右クリックして出るメニュー
からローカルリソースをインポートしました。
その行を丸々削除してテストしましたが、何のエラーも出ませんでしたよ?
PictureBox1 への画像の追加はデザイン画面で右クリックして出るメニュー
からローカルリソースをインポートしました。
投稿者 Price  ()
投稿日時
2008/8/7 23:59:00
みなさん、有り難うございます。
できました。
このようなことだけに、皆様の時間を減らしてしまい、
本当にごめんなさい。
できました。
このようなことだけに、皆様の時間を減らしてしまい、
本当にごめんなさい。
投稿者 Price  ()
投稿日時
2008/8/8 22:14:00
またこちらのスレで質問させていただきます。
サンプルの「回転」のプログラムにある
'▼引数のチェック
If IsNothing(Source) Then
Throw New NullReferenceException("Sourceに値が設定されていません。")
End If
はどういう意味なのでしょうか?
もう一つ、サンプル「画像を回転する」にある
プログラムをそのままペーストしても、
「引数のチェック」の所でエラーが出てしまいます。
(関数の宣言はしてありますし、使用例も使ってあります)
どうにかして解決できないでしょうか?
サンプルの「回転」のプログラムにある
'▼引数のチェック
If IsNothing(Source) Then
Throw New NullReferenceException("Sourceに値が設定されていません。")
End If
はどういう意味なのでしょうか?
もう一つ、サンプル「画像を回転する」にある
プログラムをそのままペーストしても、
「引数のチェック」の所でエラーが出てしまいます。
(関数の宣言はしてありますし、使用例も使ってあります)
どうにかして解決できないでしょうか?
投稿者 るしぇ  ()
投稿日時
2008/8/8 22:51:00
>>18
話題が変わったら別スレッド立ててください。
今日からこの掲示板に来た人が上に書いてある
内容を全部読まないと話の流れが掴めないのでは
不便でしょう?
>はどういう意味なのでしょうか?
既存の関数の動作くらいはヘルプで確認してきてください。
話題が変わったら別スレッド立ててください。
今日からこの掲示板に来た人が上に書いてある
内容を全部読まないと話の流れが掴めないのでは
不便でしょう?
>はどういう意味なのでしょうか?
既存の関数の動作くらいはヘルプで確認してきてください。
投稿者 Price  ()
投稿日時
2008/8/9 05:55:00
>>19
たしかに、話題は変わってますね。
タイトルの「サンプルについて」の意味としては変わってませんが・・・
自分は、他のスレを流さないようにと思って
こちらで質問したのですが・・・
ヘルプについては、明日確認します。
また新しい質問があったら、また新しいスレで
質問しますので。
たしかに、話題は変わってますね。
タイトルの「サンプルについて」の意味としては変わってませんが・・・
自分は、他のスレを流さないようにと思って
こちらで質問したのですが・・・
ヘルプについては、明日確認します。
また新しい質問があったら、また新しいスレで
質問しますので。