Vol.830 8.Oct.2021

チップLED用テストピンセット ソフト電池 VB2019_グラフィック(図形描画)

L チップLED用テストピンセット

by fjk

 バラバラになったチップLEDは記号や型番の表示がなく、実際に点灯してみないと発光色が判らない。しかし、リード線を一々ハンダづけするのも大変である。
 そこで、簡単にLEDを点灯できるピンセット型のジグを作成した。金属製のピンセットにブレッドボード用ジャンパーワイヤー(pin-pin、20cm)をグルーガンを使って固定した。チップLEDの発光テストには電流値をmA単位で設定できるLEDテスターを利用した。

LEDテストピンセットとLEDテスター 1608LEDチップの点灯テスト 「赤」でした


S ソフト電池

by fjk

 ソフト電池とは、ソフトウェアを稼働させるための”仮想の電池”で、使用期間、使用時間、使用回数、使用期限、ソフトウェアの各種機能等の使用量に応じて残量を減少させることができる。また、ソフトウェアの使用に際して従量課金(レンタル販売)、月額会員課金、百年電池(永久使用権)による売り切り販売等の用途に応じた課金を実現することができる。
 ソフト電池が組込まれたソフトウェアは、対応するソフト電池が充電されていないと稼働しないため、そのソフトウェアのみをコピーしても動作しない。また、PCに充電されたソフト電池は、ハードディスクに分散記録したり、ハードウェア情報を利用して暗号化するなどセキュリティ上の特殊処理を施されており、ソフト電池自体のコピーは大変難しく、違法コピー(不正使用)の防止策としても有効とのこと。

ソフト電池メーター画面例


V VisualBasic2019(4) 〜グラフィック(図形描画)

by fjk

 Windowsフォームに図形を描画するにはWindows APIであるGDI+(Graphics Device Interface)が利用できる。例えば、直線を描画するにはCreateGraphicsメソッドを使ってGraphicsオブジェクトを宣言し、GraphicsクラスのDrawLineメソッドを使う。

<描画例>
1.新規に「Windowsフォームアプリケーション(.NET Framework)」アプリを作成する.。
2.表示/ツールバーから「ピクチャーボックス」と「ボタン」を選び、フレームに配置。
3.ボタンをクリックし以下のコードを記述(コメントは特に入力しなくても・・)
4.「開始」ボタンをクリック。
5.ボタンをクリックすると、図形が描画される。
 
graphicsクラスを使って図形を描画する例
Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim g = PictureBox1.CreateGraphics()        		グラフィックオブジェクトの宣言
        g.DrawLine(Pens.Red, 0, 0, 100, 100)  	    		'直線を描画
        Dim rct As New Rectangle(200, 50, 100, 50)  		'四角形データ(構造体)を作成
        g.DrawRectangle(Pens.Black, rct)            		'長方形を描画
        g.DrawEllipse(Pens.Green, 50, 200, 100, 100)		'円を描画
        Dim pnt As Point() = {New Point(250, 200),  		'ポイントデータ配列を作成
                              New Point(200, 300),
                              New Point(300, 300)}
        g.DrawPolygon(Pens.Blue, pnt)               		'三角形を描画
        Dim fnt As New Font("MS UI Gothic", 20)     		'フォントを指定
        g.DrawString("Test", fnt, Brushes.Black, 200, 0)	'文字を描画
    End Sub
End Class
フォームをデザイン中 実行してみると(おまけも描画)

【グラフィック描画書式】

@ 直 線
DrawLine(Pen, 開始位置, 終了位置)
DrawLine(Pen, 開始X座標, 開始Y座標, 終了X座標, 終了Y座標)
A 長方形
DrawRectangle(Pen, 矩形)
DrawRectangle(Pen, 左上X座標, 左上Y座用, 巾, 高さ)
 (塗りつぶし)
FillRectangle(Brush, 矩形)
FillRectangle(Brush, 左上X座標, 左上Y座用, 巾, 高さ)
B 円
DrawElipse(pen, 矩形)
DrawElipse(Pen, 左上X座標, 左上Y座標, 幅, 高さ)
 (塗りつぶし)
FillElipse(Brush, 矩形)
FillElipse(Brush, 左上X座標, 左上Y座標, 幅, 高さ)
C 円弧
DrawArc(Pen, Rect構造体, 開始角度, 終了角度)
D 連続線
DrawLine(Pen, Point()) ・・・連続線は開いた線分となる
E 多角形
DrawPolygon(Pen, Point()) ・・・最後に始点と終点が結ばれ、閉じた線分となる。
G 文字列
DrawString(String, フォント, Brush, 左上X座標, 左上Y座標, 書式属性)
H 画像
DrawImage(Image, 左上X座標, 左上Y座標, srcRect, srcUnit)

【パラメータ】

●Point()
Point構造体(x,y)の配列。floatデータを使う場合はPointF。
●Rectangle(矩形)構造体
左上X座標、左上Y座用、巾、高さ
●Penクラス(System.Drawing空間)
Pen(Color, DashStyle, Width, ・・)   ・・・Pens.Black
●Color構造体(詳細)
カスタム色を指定するにはColor.FromArgb関数を利用。Alphaを省略すると255(完全に不透明)
  Color.FromArgb([Alpha, ] Red, Green, Blue)
【代表的な色の例】
(色名) (16進数) (色名)(16進数)
Black &H000000 White &HFFFFFF
Gray &H808080 Red &HFF0000
Yellow &HFFFF00 Olive &H808000
Green &H008000 Lime &H00FF00
Cyan &H00FFFF Teal &H008080
Blue &H0000FF Navy &H000080
Purple &H800080 Magenta&HFF00FF
●Brusheクラス
塗りつぶし(Fill)用カラーでColor構造体とほぼ同じ  ・・・Brushes.Black
●DashStyle列挙型
  redPen.DashStyle = Drawing2D.DashStyle.Dash
  e.Graphics.DrawLine(redPen, 190, 60, 400, 60)
Custom 5ユーザー定義のカスタム ダッシュ スタイルを指定。
Dash 1ダッシュで構成される直線を指定。
DashDot 3ダッシュとドットの繰り返しパターンで構成される直線を指定。
DashDotDot 4ダッシュと 2 つのドットの繰り返しパターンで構成される直線を指定。
Dot 2ドットで構成される直線を指定。
Solid 0実線を指定。
●srcUniプロパティ
使用する単位を指定する GraphicsUnit 列挙体のメンバー
Display 1表示デバイスの長さの単位を指定。
(ディスプレイにはピクセル、プリンターには 1/100 インチを指定)
Document 5ドキュメント単位 (1/300 インチ) を長さの単位に指定。
Inch 4インチを長さの単位に指定。
Millimeter 6ミリメートルを長さの単位に指定。
Pixel 2デバイス ピクセルを長さの単位に指定。
Point 3プリンター ポイント (1/72 インチ) を長さの単位に指定。
World 0ワールド座標系を長さの単位に指定。
●文字書式属性(StringFormat)
DirectionRightToLeft 1 テキストを右から左へ表示。
DirectionVertical 2 テキストを縦方向に位置合わせる。
DisplayFormatControl 32 左から右を指示するマークなどの制御文字をグリフで表現。
FitBlackBox 4 文字の一部が文字列のレイアウト四角形からはみ出すことを許可。
LineLimit 8192 書式指定用の四角形には、完全な直線だけがレイアウトされる。
MeasureTrailingSpaces 2048 各行の行末に空白を含める。 既定では、各行末の空白が除外。
NoClip 16384グリフの突出部と書式指定用の四角形からはみ出すラップされて> いないテキストを表示。既定では、書式指定用の四角形からはみ出た> テキストとグリフ部はすべてクリップされる。
NoFontFallback 1024 要求されたフォントでサポートされていない文字のフォントを切替え フォールバックを無効にする。欠落文字は空白の正方形で表示。
NoWrap 4096 行のテキストの折り返しを無効にする。

※おまけ ・・・上記のコードに次のサブルーチンを追加してみてください。

イベントハンドラーとPaintEventArgsオブジェクトを利用しフォームに描画
 Private Sub Picture1_Paint(sender As Object, e As PaintEventArgs) Handles PictureBox1.Paint
        Dim pnt1 As New Point(10, 150)
        Dim pnt2 As New Point(340, 150)
        Dim pen As New Pen(Color.FromArgb(42, 210, 240), 2)
        pen.DashStyle = Drawing2D.DashStyle.DashDot
        e.Graphics.DrawLine(pen, pnt1, pnt2)
End Sub


チップLED用テストピンセット ソフト電池 VB2019_グラフィック(図形描画)