サンプルについて

タグの編集
投稿者 Price  () 投稿日時 2008/8/6 22:15:00
全て表示
投稿者 neptune  () 投稿日時 2008/8/7 07:16:00
>>10 
こんにちは 
 
せっかくこのサイトは講座を用意してくれているのに利用させていただきましょう。取り合えず門講座、初級講座など。 
今回は入門講座ですから入門講座から始めると良いです。 
以下はクラスに付いて書いてます。 
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の間に何を入れたら良いでしょう?
投稿者 るきお  () 投稿日時 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 
 
つまり、一例をあげるとこうなります。
投稿者 るきお  () 投稿日時 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
投稿者 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")  
を奇麗に取り除けるでしょうか?
投稿者 るしぇ  () 投稿日時 2008/8/7 23:34:00
>>15 
その行を丸々削除してテストしましたが、何のエラーも出ませんでしたよ? 
 
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 
 
はどういう意味なのでしょうか? 
もう一つ、サンプル「画像を回転する」にある 
プログラムをそのままペーストしても、 
「引数のチェック」の所でエラーが出てしまいます。 
(関数の宣言はしてありますし、使用例も使ってあります) 
 
どうにかして解決できないでしょうか?
投稿者 るしぇ  () 投稿日時 2008/8/8 22:51:00
>>18 
話題が変わったら別スレッド立ててください。 
今日からこの掲示板に来た人が上に書いてある 
内容を全部読まないと話の流れが掴めないのでは 
不便でしょう? 
 
>はどういう意味なのでしょうか?  
既存の関数の動作くらいはヘルプで確認してきてください。
投稿者 Price  () 投稿日時 2008/8/9 05:55:00
>>19 
たしかに、話題は変わってますね。 
タイトルの「サンプルについて」の意味としては変わってませんが・・・ 
 
自分は、他のスレを流さないようにと思って 
こちらで質問したのですが・・・ 
 
ヘルプについては、明日確認します。 
また新しい質問があったら、また新しいスレで 
質問しますので。