tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトル色指定をした印刷処理方法
記事No5152
投稿日: 2007/03/19(Mon) 15:37
投稿者タイムターナー
はじめまして。
データをカラープリンターで色を指定して印刷したいのです。

今までは黒でよかったので下記のようにしていました。
e.Graphics.DrawString(Data, New Font("Century Gothic Bold", 10, FontStyle.Regular), Brushes.Black, Yoko, Tate)

以前VB5.0を使用していたときは、
Printer.ForeColor = vbRed としていましたが、"FF0000" とか "FF0099" とかして赤を印刷するのでも色々な種類の赤を印刷してみたいのです。

贅沢言って申し訳ありませんがよろしくお願いします。

[ツリー表示へ]
タイトルRe: 色指定をした印刷処理方法
記事No5153
投稿日: 2007/03/19(Mon) 16:15
投稿者花ちゃん
他にいい方法があるかも知れませんが、下記でも一応設定できます。
(カラーコードの変換は、ここの色関係を参照)

Dim myBrush As New SolidBrush(ColorTranslator.FromWin32(&HFF0099))
e.Graphics.DrawString(Data, New Font("Century Gothic Bold", 10, _
                             FontStyle.Regular), myBrush, Yoko, Tate)

[ツリー表示へ]
タイトルRe^2: 色指定をした印刷処理方法
記事No5161
投稿日: 2007/03/20(Tue) 00:20
投稿者タイムターナー
有り難うございました。
まねして書いたら紫色で出力出来ました。

> Dim myBrush As New SolidBrush(ColorTranslator.FromWin32(&HFF0099))
でも、私の色見本帳は6桁なのです。

> (カラーコードの変換は、ここの色関係を参照)
「ここの色関係」というのはどこなのか見つけられません。

世話をかけて申し訳ありませんが教えて下さい。

[ツリー表示へ]
タイトルRe^3: 色指定をした印刷処理方法
記事No5162
投稿日: 2007/03/20(Tue) 07:49
投稿者花ちゃん
> > Dim myBrush As New SolidBrush(ColorTranslator.FromWin32(&HFF0099))
> でも、私の色見本帳は6桁なのです。
6桁というなら6桁で書いてますよね。
"FF0099" と書くか HTM形式のカラーコードのように書くなりしないと
VB5.0 だの FF0099 だとか書かれると誰でもVB用の16進で書かれたコードだと思いますよね。

Label2.BackColor = ColorTranslator.FromHtml("#FF0099")

>
> > (カラーコードの変換は、ここの色関係を参照)
> 「ここの色関係」というのはどこなのか見つけられません。

.NET 関係で調べているのなら、左のフレームの「VB.NETTips一覧 他 」等、又は
[VB.NET 関係] の項はクリックされた事もないのでしょうか?

[ツリー表示へ]
タイトルRe^4: 色指定をした印刷処理方法
記事No5168
投稿日: 2007/03/20(Tue) 17:36
投稿者タイムターナー
何度も有り難うございます。
> > > (カラーコードの変換は、ここの色関係を参照)
> > 「ここの色関係」というのはどこなのか見つけられません。
>
> .NET 関係で調べているのなら、左のフレームの「VB.NETTips一覧 他 」等、又は
> [VB.NET 関係] の項はクリックされた事もないのでしょうか?
すみません、見落としました。

&HFFFF と #FFFF00 が同色を指示するとは知りませんでした。
どういう計算方法でFFFF00を&HFFFF にするのか教えていただけないでしょうか。

本当は、Dim myBrush As New SolidBrush(ColorTranslator.FromWin32(&HFFFF))
を FFFF00 で記述する方法が知りたいのです。

大変申し訳ありませんがよろしくお願いします。

[ツリー表示へ]
タイトルRe^5: 色指定をした印刷処理方法
記事No5169
投稿日: 2007/03/20(Tue) 17:44
投稿者花ちゃん
>  本当は、Dim myBrush As New SolidBrush(ColorTranslator.FromWin32(&HFFFF))
> を FFFF00 で記述する方法が知りたいのです。
>
> 大変申し訳ありませんがよろしくお願いします。

No.5162 の回答は読まなかったのですか?
いくら回答しても読まないと....。

[ツリー表示へ]
タイトルRe^5: 色指定をした印刷処理方法
記事No5171
投稿日: 2007/03/20(Tue) 21:24
投稿者花ちゃん
> &HFFFF と #FFFF00 が同色を指示するとは知りませんでした。
> どういう計算方法でFFFF00を&HFFFF にするのか教えていただけないでしょうか。

HTM形式の色コード #FFFF00 は  RGB では R=&HFF  G=&HFF  B=&H00 になり
&HFF=255 ですから R,G,B= 255,255,0 となり 長整数値では、

R=255
G=G*256=65280
B=B*256*256 =0

従って、255+65280+0=65535 になり16進数(Hex(65535))では、FFFF となります。

長整数値からRGBを求めるには下記のようになります。

    R = Hex(65535 And vbRed)
    G = Hex((65535 And vbGreen) \ &H100)
    B = Hex((65535 And vbBlue) \ &H10000)

  R=FF  G=FF  B=0 となり HTM形式では、 FFFF00 (RGB を2桁の16進表記)  
              桁合わせ用の 0 を1桁つけて、FFFF00 となる

もっとも、.NET では、FromWin32 FromHtml ToHtml  ToHtml メソッド等で
相互変換できます。詳しくは、ColorTranslator メンバ  を見て下さい。

これでお仕舞い。

[ツリー表示へ]
タイトルRe^6: 色指定をした印刷処理方法
記事No5173
投稿日: 2007/03/21(Wed) 00:11
投稿者タイムターナー
有り難うございました。
やっと出来ました!
一見すごく冷たく突き放すような言葉を浴びせるのに、トコトンつきあってくださり大変感謝しています。

No.5162 の回答:Label2.BackColor = ColorTranslator.FromHtml("#FF0099")
見たのですが『だって、ラベルの色が変わったって・・・。」と思ってしまったのです。

『Dim myBrush As New SolidBrush(ColorTranslator.FromWin32(&HFF0099)) の FromWin32をFromHtmlにかえてやってごらんなさい。』と教えてもらえるような家庭環境でした。
反省 しました。


> これでお仕舞い。
そんなこと言わずに・・・。
でも大変助かりました。
ありがとうございました。

[ツリー表示へ]