質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

Visual Basic .NET

Microsoft Visual Basic .NET (VB.NET)とはオブジェクト志向のプログラム言語です。 Microsoft"s Visual Basic 6 のバージョンアップとしてみることができますが、Microsoft.NET Frameworktによって動かされています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

4回答

5394閲覧

VB.NET 入門

退会済みユーザー

退会済みユーザー

総合スコア0

VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

Visual Basic .NET

Microsoft Visual Basic .NET (VB.NET)とはオブジェクト志向のプログラム言語です。 Microsoft"s Visual Basic 6 のバージョンアップとしてみることができますが、Microsoft.NET Frameworktによって動かされています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2016/11/24 08:12

編集2016/11/24 08:21

Visual Basicで画像の色相を変更するプログラムを作成したいと考えております。
RGB値をそれぞれマイナスしたいのです。
ネットで参考コードを探していたところ、
VB.NETという言語のソースが出てきて、
それが一番自分がやりたいことに近いので参考にさせていただきたいのですが、
VBが全くの初心者で、そちらのサイトを読んでもいまいち始め方が分からず、困っております。
Visual Basic Studio 2015 をダウンロードしてみたのですが、
Form のところに入力していけばできるのでしょうか?

また、そちらのサイトに書いてあった、
赤色を128マイナスするというプログラムのソースが

VB

1'Imports System.Drawing 2'Imports System.Drawing.Imaging 3 4''' <summary> 5''' 指定した画像の色を補正する 6''' </summary> 7''' <param name="img">補正する画像</param> 8''' <param name="rValue">赤の増加値(-255~255)</param> 9''' <param name="gValue">緑の増加値(-255~255)</param> 10''' <param name="bValue">青の増加値(-255~255)</param> 11Public Shared Sub AdjustColorImage( _ 12 ByVal img As Bitmap, ByVal rValue As Integer, _ 13 ByVal gValue As Integer, ByVal bValue As Integer) 14 '1ピクセルあたりのバイト数を取得する 15 Dim pixelFormat As PixelFormat = img.PixelFormat 16 Dim pixelSize As Integer = Image.GetPixelFormatSize(pixelFormat) / 8 17 If pixelSize < 3 OrElse 4 < pixelSize Then 18 Throw New ArgumentException( _ 19 "1ピクセルあたり24または32ビットの形式のイメージのみ有効です。", _ 20 "img") 21 End If 22 23 'または次のように元の画像とは異なるPixelFormatでLockBitsすることも可能 24 'この場合、UnlockBitsで元のPixelFormatに戻る 25 'ただし、元のPixelFormatとLockBits時のPixelFormatが異なる場合は、 26 '変更した色とは異なる色になる可能性がある 27 'pixelFormat = PixelFormat.Format32bppArgb 28 'pixelSize = 4 29 30 'Bitmapをロックする 31 Dim bmpDate As BitmapData = _ 32 img.LockBits(New Rectangle(0, 0, img.Width, img.Height), _ 33 ImageLockMode.ReadWrite, img.PixelFormat) 34 35 If bmpDate.Stride < 0 Then 36 img.UnlockBits(bmpDate) 37 Throw New ArgumentException( _ 38 "ボトムアップ形式のイメージには対応していません。", _ 39 "img") 40 End If 41 42 'ピクセルデータをバイト型配列で取得する 43 Dim ptr As IntPtr = bmpDate.Scan0 44 Dim pixels As Byte() = New Byte(bmpDate.Stride * img.Height - 1) {} 45 System.Runtime.InteropServices.Marshal.Copy(ptr, pixels, 0, pixels.Length) 46 47 'すべてのピクセルの色を補正する 48 For y As Integer = 0 To bmpDate.Height - 1 49 For x As Integer = 0 To bmpDate.Width - 1 50 'ピクセルデータでのピクセル(x,y)の開始位置を計算する 51 Dim pos As Integer = y * bmpDate.Stride + x * pixelSize 52 '新しい色を計算する 53 Dim newR As Integer = _ 54 Math.Max(0, Math.Min(255, pixels(pos + 2) + rValue)) 55 Dim newG As Integer = _ 56 Math.Max(0, Math.Min(255, pixels(pos + 1) + gValue)) 57 Dim newB As Integer = _ 58 Math.Max(0, Math.Min(255, pixels(pos) + bValue)) 59 '色を変更する 60 pixels(pos + 2) = CByte(newR) 61 pixels(pos + 1) = CByte(newG) 62 pixels(pos) = CByte(newB) 63 Next 64 Next 65 66 'ピクセルデータを元に戻す 67 System.Runtime.InteropServices.Marshal.Copy(pixels, 0, ptr, pixels.Length) 68 69 'ロックを解除する 70 img.UnlockBits(bmpDate) 71End Sub 72 73'PictureBox1のClickイベントハンドラ 74Private Sub PictureBox1_Click(ByVal sender As Object, ByVal e As EventArgs) _ 75 Handles PictureBox1.Click 76 '色補正をする画像 77 Dim img As New Bitmap("C:\test\1.png") 78 '赤を128増加させる 79 AdjustColorImage(img, 128, 0, 0) 80 'PictureBox1に表示 81 If Not PictureBox1.Image Is Nothing Then 82 PictureBox1.Image.Dispose() 83 End If 84 PictureBox1.Image = img 85End Sub

なのですが、これは何が省略されているのでしょうか。
構文等も分からないので、省略されている部分を丁寧に教えていただける方がいらっしゃいましたらよろしくお願い致します。
画像を選択すると、その画像の色相が変更されて出てくる、というページを作成したいのです。
Rの値だけでなく、G,Bも変更したいと考えております。
一緒に考えてくれる方、よろしくお願い致します。

また、こちらのテラテイルも初めて使わせていただきますので、
質問の仕方が間違っていたり、不快な思いをした方がいらっしゃいましたら申し訳ございません。。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

こちらの質問と同じ方ですよね?
https://teratail.com/questions/55978
違っていたら申し訳ない。
仮に別人だとしても、VB.NETの初心者であるなら、まずは本なりサイトなりで基礎からはじめてはいかがですか?
それから質問タイトルと内容があっていません。
適切なタイトルをつけられるようお願いします。

投稿2016/11/24 08:40

ttyp03

総合スコア16998

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/11/24 12:28

同じようなことを質問されている方がいらっしゃったのですね!そちらも参考にさせていただきます。 ではどういったタイトルがよろしいのでしょうか。
ttyp03

2016/11/24 23:53

それを聞く?聞いちゃう? 今やろうとしていることでわからないことが、質問タイトルになるんじゃないですか? 全部わからない、何がわからないのかがわからない、とかいうなら、基礎からやるしかないでしょう。 コピペで何かを動かそうというのにはまだ早いということです。
guest

0

まずこれ見て作って動かしてください。
このあたりがわかっていないと、仮にコードの全文をここに貼っつけても多分動かせません。
[VB.NET] Windows フォームによるクライアント アプリケーション開発

投稿2016/11/24 08:46

ishi9

総合スコア1294

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/11/24 12:26

とても分かりやすいサイト、教えて下さりありがとうございます。この辺りは理解しております。
ozwk

2016/11/24 12:52

理解してたら書けるんですよ
退会済みユーザー

退会済みユーザー

2016/11/24 14:07

コードの足りない部分を聞いております。
Y.H.

2016/11/24 14:14 編集

足りないコードは・・・提示いただいたコードはたぶんソースファイル全体のコードからすると3割分くらいしかないので誰に聞いても無理ですよ。 なのでこの回答に記載されているリンク先を理解されていればご自身でご自身の考える要件にあったものが作れるはずです。
ishi9

2016/11/25 01:35

ぉ、なんかいろいろな方がコメントしてくださってますね。 参考サイトの部分ができてるなら、 後はform上にbuttonとかと同じようにpicturebox配置して 「C:\test\」に1.png用意して 参考サイトのクラス内に質問文のコードコピペするだけなのですが。
guest

0

>Form のところに入力していけばできるのでしょうか?
が質問だと思いますので回答は「できます!」

投稿2021/07/24 04:40

okada0930

総合スコア30

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Visual Basicで画像の色相を変更するプログラムを作成したいと考えております。

言語は元々 Visual Basic を使うと決まっていたのですか?
それでいて VB.NET のことは後から知ったのですよね。

「VB.NET」と「Excel などで使う VBA」「VBScript」などは別物ですが、それは大丈夫ですか?

# 勉強の為に Visual Basic で何か作りたい、とかなら良いかもしれませんが、
# 目的が Excel のマクロで何かする、とかの場合 VB.NET のソースでは動かないと思うので。


とりあえず VB.NET を最初から勉強するなら、本やサイトなどで Hello World から勉強するのが良いかなと思います。

投稿2016/11/24 08:51

sk_3122

総合スコア1126

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/11/24 12:24

本当はJavaScriptなど、自分ができる言語を使いたいと考えておりました。 サイトは閉鎖されていたりで自分に合うのが見つかりませんので本で勉強しようと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問