OpenOffice.org Basicでガントチャート
OpenOffice.org Basicを使ってガントチャート作成用マクロ ガントチャートforOOoを開発する手順を紹介していきます。
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
色選択ダイアログ その2

色の番号を取得するためにRGBを用いると前回書きましたが、RGBについて少し説明します
色の表現方法はたくさんあります(参考URL)が、RGBは赤、緑、青の濃度を0~255の数値を使って表現する手法で256 x 256 x 256 = 16777216色を表現する事ができます。RGBという名称は3色の頭文字をとったものです。

RGBでは赤は16711680、緑は65280、青は255ですが、これらの数値を覚えることはとてもできませんので、これを取得するRGB関数があります。これは各色を0~255で指定することで、対応した数値を返してくれます。
例えば、赤の値を取得するには以下のように書きます。

RGB(255, 0, 0)
緑であれば、
RGB(0, 255, 0)
となります。

dlgSelectColorでは、パレットに使用するイメージボックスが5x5しかないので、RGBで表現できる全ての色を使うのは無理があります。そこで、各色を5段階とし、5x5x5の125色を扱うことになります。よって、scbBlueの最大値は4とします。

scbBuleの現在値から青色の濃度を計算し、imgPaletteの色を順番に指定していきます。ここで、左上から右に進むと赤の濃度が増え、下に進むと緑が増えることとします。
これをプログラムで表現すると下記となります。

Private Sub setColors

    Dim i As Integer
    Dim Blue As Integer
    
    Blue = scbBlue.Value * 255 / 4
    
    For i = 0 To UBound(imgPalette())
        imgPalette(i).getModel().BackgroundColor = _
            RGB((i mod 5) / 4 * 255, Int(i / 5) / 4 * 255, Blue)
    Next i
    
End Sub

ちなみに、modとは割り算の余りを取得するために用います。

スポンサーサイト

テーマ:OpenOffice.org - ジャンル:コンピュータ

コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://shinob.blog42.fc2.com/tb.php/51-89aa643c
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
COPYRIGHT(C) 2004 POWERD BY FC2 ALLRIGHT RESERVED.
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。