よろしくお願いします.

タイトルにも書いたんですが…VBでお絵かきソフトを作っています.ほとんど出来上がったんですが,画像の拡大・縮小処理をさせるのに困っています.
アフィン変換と補間法を利用して拡大・縮小処理を行います.まず画素の色をコピーすることからやりたいと思っています.持っている本を手当たり次第に読んだんですが…プログラムがかけません.
例えば,(a,b)の座標の色を読み込む場合にどうしたらいいのでしょうか…その色を拡大・縮小後の(A,B)の座標にコピーするのはどうしたらいいのでしょうか…教えてください.

さらに,ヘルプを使ってみたんですが、「MSDNをインストールしてください」って出ます…MSDNっていうのもわかりません.初歩的なことかもしれませんが…教えてください

このQ&Aに関連する最新のQ&A

A 回答 (1件)

色を取るのは、Pointメソッドです。


1点のみ色を塗るのであれば、Pset、ある範囲を四角く塗るのであれば、LineにBFオプションをつけます。

Dim lngColor As Long

lngColor = Picture1.Point(100, 100)
Picture1.PSet (200, 100), lngColor
Picture1.Line (300, 100)-(400, 200), lngColor, BF

それからMSDNですが、Microsoft Developer Networkライブラリと言うやつで、Microsoftの開発関係の情報が入ったものです。HELPとして使うのですが、VBだけじゃなく、VCやWindowsAPIなどいろんな情報が入っています。VBのパッケージにいっしょに入っていたはずです。

現在は、MSDNをインターネットで使用できるようになっておりますので、下記のURLを見てみてください。ですが、F1キーでHELPが開くわけではないので、MSDNはインストールした方がいいと思います(っていうか必須ですね)。

参考URL:http://www.microsoft.com/japan/developer/library …
    • good
    • 0
この回答へのお礼

回答ありがとうございます.

なるほど,こうやって画素値をとることができるんですね!これがわかれば後は拡大縮小のプログラムは書けそうです.参考になります.
MSDNはVBだけではないんですか…これはインストールしないと…

本当にありがとうございます.

お礼日時:2001/02/10 11:36

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q座標A(X,Y)の線分(aX,aY)(bX,bY)に対称な座標の求め方

VBで図形を入力した線分に対称に反転した図形と書こうとしています。
その為に必要な座標A(X,Y)の線分(aX,aY)(bX,bY)に対称な
座標B(X',Y')の求め方についてご教授お願いいたします。

Aベストアンサー

 次の関係から連立方程式を解いてください。

 点P(aX,aY)、点Q(bX,bY)とすると、

・直線PQと直線ABは垂直に交わる。 ⇒2つの直線の傾きを掛けると-1になる。

・2点ABの中点Mが直線PQ上を通る。⇒直線PQの方程式に点M((X+X')/2, (Y+Y')/2)を代入する。

QVB.NETで画像の拡大・縮小

みなさんよろしくお願いします。
Form上にPictureBoxを配置して
ボタンをクリックしながら
画像を拡大したり、縮小したり
したいと思っているのですが、
参考になるようなサイトってあり
ますでしょうか?どうかよろしく
お願いします。

Aベストアンサー

Dim Bmp As New Bitmap(Pic.Width, Pic.Height)
Dim Fnt As New Font(txtFntName.Text, txtFntSize.Text, RaSty, GraphicsUnit.Pixel)
Dim Bsh As New SolidBrush(ColPic.BackColor)
Bmp = Image.FromFile(FileName)
PoF.X = Int(Bmp.Width * txtPer.Text / 100)
PoF.Y = Int(Bmp.Height * txtPer.Text / 100)
Dim g As Graphics = Graphics.FromImage(Bmp)
g.DrawString(txtStr.Text, Fnt, Bsh, PoF)
Pic.SizeMode = PictureBoxSizeMode.StretchImage
Pic.Width = Bmp.Width / 2
Pic.Height = Bmp.Height / 2
Pic.Image = Bmp
*ソースより抜粋
StretchImageで、ピクチャーボックスのサイズを
変更できる。変更後にイメージファイルを読み込めば
縮小表示される

Dim Bmp As New Bitmap(Pic.Width, Pic.Height)
Dim Fnt As New Font(txtFntName.Text, txtFntSize.Text, RaSty, GraphicsUnit.Pixel)
Dim Bsh As New SolidBrush(ColPic.BackColor)
Bmp = Image.FromFile(FileName)
PoF.X = Int(Bmp.Width * txtPer.Text / 100)
PoF.Y = Int(Bmp.Height * txtPer.Text / 100)
Dim g As Graphics = Graphics.FromImage(Bmp)
g.DrawString(txtStr.Text, Fnt, Bsh, PoF)
Pic.SizeMode = PictureBoxSizeMod...続きを読む

QMSDNのコレクションがありません。MSDNを再インストールしてください。

現在VisualStudio6を使っております。
VB6を使ってエラーが発生した時に、「OK」「ヘルプ」でヘルプを押すと、
MSDNのコレクションがありません。MSDNを再インストールしてください。
のメッセージが表示されます。

以前1年間 ユニバーサルエディションという高いサービスを1年間だけ受けていたが
今は何もMSDNのサービスを受けていません。

以前送られてきたCDが沢山あるのですが、どういうタイトル(ラベル)のCDをインストールすれば
良いのでしょうか?
最新でないと意味がないと思いますが、代用で使えるものがあるのでしょうか?

Aベストアンサー

MSDNに加入されていたのでしたら、3ヶ月に1度「MSDN Library」と書かれた
CD-ROM(大体2~3枚組)が送られて来ていたと思いますので、
その中からいずれかをインストールするといいでしょう。

ただVBの場合、6.0と.NETとでは別物と言っていいほど大きな違いがありますので、
必ずしも最新版がベストであるとは言い切れません。
もしVB6.0をパッケージで購入されたのでしたら、それに付属している物を
インストールした方がいいかもしれません。

また、MSDNライブラリはWeb上でも見る事ができます。
http://www.microsoft.com/japan/msdn/library/

MSDNライブラリの使い方については以下のページにわかりやすい解説があります。
http://homepage1.nifty.com/rucio/main/dotnet/nyumon/BEGIN8.htm

QVBの配列 IsNull, IsNuthing, ...? 用途がわかりません。

以下の場合、(1)で範囲エラーとなります。
redim a(0)とすると、a配列に1個データがあるということで、for文が実行されますが。
Redimしないまま(データが無い意味としたいので)で、このFor文をパスするには、どのように記述すればよいのでしょうか?

dim a() as string

'----->(2)
for i=LBound(a) to UBound(a) '---->(1)
msgbox(a(i))
next i

Aベストアンサー

string限定ですが、
a=split("","A")
とか、ありえないsplitを行うとか・・・
ubound(a)=-1になります。

ちなみに、SafeArrayAllocDescriptor は、excelやaccessのvbaでもOKです。

QFOR文でtext1,text2,text3...などとどうやって処理させればいいのですか

超初心者な質問ですみません。
たとえばFOR文を使ってtext1~10まで連続に処理させるには
どういったコードを記述すればよいのでしょうか?
初心者用の本やHPを探しても見当たりませんでした。
お願いします。

Aベストアンサー

textエリアをインデックス配列にすればいいです。
Text1のエリアをファーム上でコピーし、貼り付けると
Text1(0)~ Text1(9) の配列になります。
それを
 
(例)

i =0
for i=0 to 9
text1(i) = x
next

のようにすればいいです。


このカテゴリの人気Q&Aランキング

おすすめ情報