■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#8242-0矩形の塗りつぶしらん2000-03-07(火) 10:10
     #8246-0RE#8242:矩形の塗りつぶしゆう(U)2000-03-07(火) 10:48
     #8267-0RE#8246:矩形の塗りつぶしらん2000-03-07(火) 13:31
     #8268-0RE#8267:矩形の塗りつぶし匿名82682000-03-07(火) 14:23
     #8272-0RE#8268:矩形の塗りつぶし匿名82722000-03-07(火) 14:43
     #8276-0RE#8272:矩形の塗りつぶしhard2000-03-07(火) 14:54
     #8277-0RE#8272:矩形の塗りつぶし魔界の仮面弁士2000-03-07(火) 14:59
     #8278-0RE#8272:矩形の塗りつぶしどらお2000-03-07(火) 15:00
     #8280-0RE#8272:矩形の塗りつぶしゆう(U)2000-03-07(火) 15:06
#8242-0
矩形の塗りつぶし
Lineメソッドを使って、閉じた矩形を定義しましたが、
その中を塗りつぶす方法を教えて下さい。
#8246-0
RE#8242:矩形の塗りつぶし
> Lineメソッドを使って、閉じた矩形を定義しましたが、
> その中を塗りつぶす方法を教えて下さい。
Lineメソッドで同時にでもOKなら、ヘルプを良く読むと分かります。


既に描き終わった閉じた図形内を塗りつぶすなら・・・

ヘルプ「hDC プロパティ」の使用例をご覧ください。
ちなみに現在推奨されるAPI関数は新しいものになっていますので
詳しいことは「MSDNライブラリ」などで確認して下さい。

●質問する時は環境(OS、VBのバージョン・エディション・SP)も
 明記する方が良いです
#8267-0
RE#8246:矩形の塗りつぶし
> > Lineメソッドを使って、閉じた矩形を定義しましたが、
> > その中を塗りつぶす方法を教えて下さい。
> Lineメソッドで同時にでもOKなら、ヘルプを良く読むと分かります。> 
> 
> 既に描き終わった閉じた図形内を塗りつぶすなら・・・
> 
> ヘルプ「hDC プロパティ」の使用例をご覧ください。
> ちなみに現在推奨されるAPI関数は新しいものになっていますので
> 詳しいことは「MSDNライブラリ」などで確認して下さい。
> 
> ●質問する時は環境(OS、VBのバージョン・エディション・SP)も
>  明記する方が良いです


 できれば、Lineメソッドで同時が良いと思って、ヘルプを読んだのですが、
 よく分からなかった(すみません).......
 2番目の方法は、ExtFloodFillを使ってみたのですが、
 これも、うまくいきませんでした。
 
 pictureboxのpaintイベントで、描画しています。
 
       picMap.CurrentX = dblXP(0)
        picMap.CurrentY = dblYP(0)
        picMap.Line -(dblXP(1), dblYP(1)), vbBlack
        picMap.Line -(dblXP(2), dblYP(2)), vbBlack
        picMap.Line -(dblXP(0), dblYP(0)), vbBlack
        picMap.FillStyle = vbFSSolid
        picMap.FillColor = vbBlack
            lReturn=ExtFloodFill( picMap.hdc, _
                      picMap.CurrentX 1, _
                      picMap.CurrentY, _
                      picMap.ForeColor, _
                      0)

  再度、回答を頂けないでしょうか
#8268-0
RE#8267:矩形の塗りつぶし
> できれば、Lineメソッドで同時が良いと思って、ヘルプを読んだのですが、
> よく分からなかった(すみません).......

Lineメソッドの構文:
  object.Line [Step] (x1, y1) [Step] - (x2, y2), [color], [B][F]
Bオプション、Fオプションを指定することで、
矩形を描くと同時に塗りつぶすことが可能です。
詳しくはヘルプをご覧ください。

例) フォーム上を左クリック、右クリックしてみてください。
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, _ 
X As Single, Y As Single)
    Select Case Button
    Case vbLeftButton
        Line (X, Y)-(X + 500, Y + 500), vbBlack, B
    Case vbRightButton
        Line (X, Y)-(X + 500, Y + 500), vbBlack, BF
    End Select
End Sub

>  2番目の方法は、ExtFloodFillを使ってみたのですが、

Lineメソッドと同時に塗りつぶすのをご希望のようですので、
APIを使うより簡単な先ほどの方法をおすすめします。
#8272-0
RE#8268:矩形の塗りつぶし
> > できれば、Lineメソッドで同時が良いと思って、ヘルプを読んだのですが、
> > よく分からなかった(すみません).......
> 
> Lineメソッドの構文:
>   object.Line [Step] (x1, y1) [Step] - (x2, y2), [color], [B][F]
> Bオプション、Fオプションを指定することで、
> 矩形を描くと同時に塗りつぶすことが可能です。
> 詳しくはヘルプをご覧ください。
> 
 上記の方法だと、ボックス(長方形)ができてしまうと思うのですが。
 ラインメソッドで定義した閉じた図形の中を塗りつぶす方法を知りたいのですが....
#8276-0
RE#8272:矩形の塗りつぶし
> > Lineメソッドの構文:
> >   object.Line [Step] (x1, y1) [Step] - (x2, y2), [color], [B][F]
> > Bオプション、Fオプションを指定することで、
> > 矩形を描くと同時に塗りつぶすことが可能です。
> > 詳しくはヘルプをご覧ください。
> > 
>  上記の方法だと、ボックス(長方形)ができてしまうと思うのですが。
>  ラインメソッドで定義した閉じた図形の中を塗りつぶす方法を知りたいのですが....

ちゃちゃのみで申し訳ないですが・・・。
矩形というのは、長方形のことです。質問のタイトルと内容が一致してないと思うのですが・・・。
もう一度、タイトルを適切なものに替えて投稿されてはどうですか?
#8277-0
RE#8272:矩形の塗りつぶし
>  上記の方法だと、ボックス(長方形)ができてしまうと思うのですが。
>  ラインメソッドで定義した閉じた図形の中を塗りつぶす方法を知りたいのですが....
VB自体には、そのような機能は用意されていません。
あとからAPIで塗りつぶすか、Lineを1ピクセルずつずらして描いていくかして下さい。
#8278-0
RE#8272:矩形の塗りつぶし
>  上記の方法だと、ボックス(長方形)ができてしまうと思うのですが。
>  ラインメソッドで定義した閉じた図形の中を塗りつぶす方法を知りたいのですが....

#矩形って、長方形の事なんですが・・・(^^;)

で、ピクチャーボックスのScaleModeが判らないので外してるかもしれませんが
塗りつぶし開始点の座標はピクセル単位になってますか?
もし、それでも上手く行かない場合はQ&Aの方で再質問お願いします<今、壊れてるみたいですけど(;_;)
#8280-0
RE#8272:矩形の塗りつぶし
>  上記の方法だと、ボックス(長方形)ができてしまうと思うのですが。
>  ラインメソッドで定義した閉じた図形の中を塗りつぶす方法を知りたいのですが....
タイトルに「矩形」とあったのでLineメソッドで足りる
と思ったんですが・・・

>  これも、うまくいきませんでした。
どう、うまく行かなかったんでしょうか?
AutoRedrawの値で動作が異なる事はご存知ですか?
「Declare ステートメント」は知っていますか?

>                       picMap.CurrentX 1, _
文法エラーではないですかね?

> 詳しいことは「MSDNライブラリ」などで確認して下さい。
でこの関数を見つけれたということは・・・VB6.0ですか?

0 → FLOODFILLBORDER
1 → FLOODFILLSURFACE
の定数(Const)を使用する方が良いですよ。

エラーが発生しているのでなければ、後は試行錯誤です。

●それでも出来ない場合は、Q&A掲示板へ再度質問して
 下さい。
このページと関連する記事:
#137-2RE#136:SOLID の仕方2003-04-30(水) 08:39
#21341-0円の内部を塗りつぶす2001-06-13(水) 14:28
#18643-0ペイントのように色のぬりつぶし2000-03-28(火) 00:35
#6480-0lineの多角形1999-10-03(日) 11:21
#24462-0ゆうさん、ありがとうございます。しかし…2001-11-08(木) 17:23
#17420-0数式のグラフ化2001-08-25(土) 02:48
#9389-0作業時間だけグラフに色を塗りたい2000-04-06(木) 13:58
#21867-0PictureBox内をドラッグして その画像を拡大したい。2001-07-16(月) 11:02
#1978-0RE#1961:多角形の塗りつぶし1999-07-24(土) 20:26
#16790-0VBで描画図形の塗りつぶしについて2000-02-24(木) 16:54
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)