構文Public NotInheritable Class Pen Inherits MarshalByRefObject Implements ICloneable, IDisposable
public sealed class Pen : MarshalByRefObject, ICloneable, IDisposable
public final class Pen extends MarshalByRefObject implements ICloneable, IDisposable
public final class Pen extends MarshalByRefObject implements ICloneable, IDisposable
解説Pen は、指定の幅およびスタイルの直線を描画します。さまざまな破線を描画するには DashStyle プロパティを使用します。Pen で描画した直線は、純色、テクスチャなど、さまざまな塗りつぶしスタイルで塗りつぶすことができます。塗りつぶしスタイルは、塗りつぶしオブジェクトに使用するブラシまたはテクスチャによって異なります。
使用例次のコード例は、Brush を使用して Pen を作成する方法と、Pen で LineJoin プロパティを設定することの効果を示しています。
この例は、Windows フォームでの使用を意図してデザインされています。コードをフォームに貼り付け、フォームの Paint イベントを処理するときに PaintEventArgs の e を渡して ShowLineJoin メソッドを呼び出します。
Private Sub ShowLineJoin(ByVal e As PaintEventArgs) ' Create a new pen. Dim skyBluePen As New Pen(Brushes.DeepSkyBlue) ' Set the pen's width. skyBluePen.Width = 8.0F ' Set the LineJoin property. skyBluePen.LineJoin = Drawing2D.LineJoin.Bevel ' Draw a rectangle. e.Graphics.DrawRectangle(skyBluePen, _ New Rectangle(40, 40, 150, 200)) 'Dispose of the pen. skyBluePen.Dispose() End Sub
private void ShowLineJoin(PaintEventArgs e) { // Create a new pen. Pen skyBluePen = new Pen(Brushes.DeepSkyBlue); // Set the pen's width. skyBluePen.Width = 8.0F; // Set the LineJoin property. skyBluePen.LineJoin = System.Drawing.Drawing2D.LineJoin.Bevel; // Draw a rectangle. e.Graphics.DrawRectangle(skyBluePen, new Rectangle(40, 40, 150, 200)); //Dispose of the pen. skyBluePen.Dispose(); }
private: void ShowLineJoin( PaintEventArgs^ e ) { // Create a new pen. Pen^ skyBluePen = gcnew Pen( Brushes::DeepSkyBlue ); // Set the pen's width. skyBluePen->Width = 8.0F; // Set the LineJoin property. skyBluePen->LineJoin = System::Drawing::Drawing2D::LineJoin::Bevel; // Draw a rectangle. e->Graphics->DrawRectangle( skyBluePen, Rectangle(40,40,150,200) ); //Dispose of the pen. delete skyBluePen; }
private void ShowLineJoin(PaintEventArgs e) { // Create a new pen. Pen skyBluePen = new Pen(Brushes.get_DeepSkyBlue()); // Set the pen's width. skyBluePen.set_Width(8); // Set the LineJoin property. skyBluePen.set_LineJoin(System.Drawing.Drawing2D.LineJoin.Bevel); // Draw a rectangle. e.get_Graphics().DrawRectangle(skyBluePen, new Rectangle(40, 40, 150, 200)); //Dispose of the pen. skyBluePen.Dispose(); } //ShowLineJoin
継承階層
スレッド セーフ
プラットフォームWindows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照
構文
解説Color プロパティは color パラメータで指定された色に設定されます。Width プロパティは width パラメータに指定された値に設定されます。width に 0 を指定した場合は、1 が指定されたものと見なされて Pen の描画が行われます。
使用例次のコード例では、Pen を作成し、DashCapプロパティ、DashPattern プロパティ、および SmoothingMode プロパティを設定することの効果を示します。
この例は、Windows フォームでの使用を意図してデザインされています。このコードをフォームに貼り付け、フォームの Paint イベントを処理するときに PaintEventArgs の e を渡して ShowPensAndSmoothingMode メソッドを呼び出します。
Private Sub ShowPensAndSmoothingMode(ByVal e As PaintEventArgs) ' Set the SmoothingMode property to smooth the line. e.Graphics.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias ' Create a new Pen object. Dim greenPen As New Pen(Color.Green) ' Set the width to 6. greenPen.Width = 6.0F ' Set the DashCap to round. greenPen.DashCap = Drawing2D.DashCap.Round ' Create a custom dash pattern. greenPen.DashPattern = New Single() {4.0F, 2.0F, 1.0F, 3.0F} ' Draw a line. e.Graphics.DrawLine(greenPen, 20.0F, 20.0F, 100.0F, 240.0F) ' Change the SmoothingMode to none. e.Graphics.SmoothingMode = Drawing2D.SmoothingMode.None ' Draw another line. e.Graphics.DrawLine(greenPen, 100.0F, 240.0F, 160.0F, 20.0F) ' Dispose of the custom pen. greenPen.Dispose() End Sub
private void ShowPensAndSmoothingMode(PaintEventArgs e) { // Set the SmoothingMode property to smooth the line. e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; // Create a new Pen object. Pen greenPen = new Pen(Color.Green); // Set the width to 6. greenPen.Width = 6.0F; // Set the DashCap to round. greenPen.DashCap = System.Drawing.Drawing2D.DashCap.Round; // Create a custom dash pattern. greenPen.DashPattern = new float[]{4.0F, 2.0F, 1.0F, 3.0F}; // Draw a line. e.Graphics.DrawLine(greenPen, 20.0F, 20.0F, 100.0F, 240.0F); // Change the SmoothingMode to none. e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.None; // Draw another line. e.Graphics.DrawLine(greenPen, 100.0F, 240.0F, 160.0F, 20.0F); // Dispose of the custom pen. greenPen.Dispose(); }
private: void ShowPensAndSmoothingMode( PaintEventArgs^ e ) { // Set the SmoothingMode property to smooth the line. e->Graphics->SmoothingMode = System::Drawing::Drawing2D::SmoothingMode::AntiAlias; // Create a new Pen object. Pen^ greenPen = gcnew Pen( Color::Green ); // Set the width to 6. greenPen->Width = 6.0F; // Set the DashCap to round. greenPen->DashCap = System::Drawing::Drawing2D::DashCap::Round; // Create a custom dash pattern. array<Single>^temp0 = {4.0F,2.0F,1.0F,3.0F}; greenPen->DashPattern = temp0; // Draw a line. e->Graphics->DrawLine( greenPen, 20.0F, 20.0F, 100.0F, 240.0F ); // Change the SmoothingMode to none. e->Graphics->SmoothingMode = System::Drawing::Drawing2D::SmoothingMode::None; // Draw another line. e->Graphics->DrawLine( greenPen, 100.0F, 240.0F, 160.0F, 20.0F ); // Dispose of the custom pen. delete greenPen; }
private void ShowPensAndSmoothingMode(PaintEventArgs e) { // Set the SmoothingMode property to smooth the line. e.get_Graphics().set_SmoothingMode( System.Drawing.Drawing2D.SmoothingMode.AntiAlias); // Create a new Pen object. Pen greenPen = new Pen(Color.get_Green()); // Set the width to 6. greenPen.set_Width(6); // Set the DashCap to round. greenPen.set_DashCap(System.Drawing.Drawing2D.DashCap.Round); // Create a custom dash pattern. greenPen.set_DashPattern(new float[] { 4, 2, 1, 3 }); // Draw a line. e.get_Graphics().DrawLine(greenPen, 20, 20, 100, 240); // Change the SmoothingMode to none. e.get_Graphics().set_SmoothingMode( System.Drawing.Drawing2D.SmoothingMode.None); // Draw another line. e.get_Graphics().DrawLine(greenPen, 100, 240, 160, 20); // Dispose of the custom pen. greenPen.Dispose(); } //ShowPensAndSmoothingMode
プラットフォームWindows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照
構文
例外
解説
使用例次のコード例は、Brush を使用して Pen を作成する方法と、Pen で LineJoin プロパティを設定することの効果を示しています。
この例は、Windows フォームでの使用を意図してデザインされています。コードをフォームに貼り付け、フォームの Paint イベントを処理するときに PaintEventArgs の e を渡して ShowLineJoin メソッドを呼び出します。
Private Sub ShowLineJoin(ByVal e As PaintEventArgs) ' Create a new pen. Dim skyBluePen As New Pen(Brushes.DeepSkyBlue) ' Set the pen's width. skyBluePen.Width = 8.0F ' Set the LineJoin property. skyBluePen.LineJoin = Drawing2D.LineJoin.Bevel ' Draw a rectangle. e.Graphics.DrawRectangle(skyBluePen, _ New Rectangle(40, 40, 150, 200)) 'Dispose of the pen. skyBluePen.Dispose() End Sub
private void ShowLineJoin(PaintEventArgs e) { // Create a new pen. Pen skyBluePen = new Pen(Brushes.DeepSkyBlue); // Set the pen's width. skyBluePen.Width = 8.0F; // Set the LineJoin property. skyBluePen.LineJoin = System.Drawing.Drawing2D.LineJoin.Bevel; // Draw a rectangle. e.Graphics.DrawRectangle(skyBluePen, new Rectangle(40, 40, 150, 200)); //Dispose of the pen. skyBluePen.Dispose(); }
private: void ShowLineJoin( PaintEventArgs^ e ) { // Create a new pen. Pen^ skyBluePen = gcnew Pen( Brushes::DeepSkyBlue ); // Set the pen's width. skyBluePen->Width = 8.0F; // Set the LineJoin property. skyBluePen->LineJoin = System::Drawing::Drawing2D::LineJoin::Bevel; // Draw a rectangle. e->Graphics->DrawRectangle( skyBluePen, Rectangle(40,40,150,200) ); //Dispose of the pen. delete skyBluePen; }
private void ShowLineJoin(PaintEventArgs e) { // Create a new pen. Pen skyBluePen = new Pen(Brushes.get_DeepSkyBlue()); // Set the pen's width. skyBluePen.set_Width(8); // Set the LineJoin property. skyBluePen.set_LineJoin(System.Drawing.Drawing2D.LineJoin.Bevel); // Draw a rectangle. e.get_Graphics().DrawRectangle(skyBluePen, new Rectangle(40, 40, 150, 200)); //Dispose of the pen. skyBluePen.Dispose(); } //ShowLineJoin
プラットフォームWindows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照
オーバーロードの一覧| 名前 | 説明 |
|---|---|
| Pen (Brush) | Brush を指定して、Pen クラスの新しいインスタンスを初期化します。 |
| Pen (Color) | 指定した色を使用して、Pen クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
| Pen (Brush, Single) | 指定した Brush と Width を使用して、Pen クラスの新しいインスタンスを初期化します。 |
| Pen (Color, Single) | 指定の Color プロパティと Width プロパティで Pen クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
参照
構文
例外
解説Brush は brush パラメータで指定された色に、Width プロパティは width パラメータで指定された値に、単位は World にそれぞれ設定されます。
使用例次のコード例では、Pen を作成し、Pen で StartCap プロパティおよび EndCap プロパティを設定することの効果を示します。
この例は、Windows フォームでの使用を意図してデザインされています。コードをフォームに貼り付け、フォームの Paint イベントを処理するときに PaintEventArgs の e を渡して ShowStartAndEndCaps メソッドを呼び出します。
Private Sub Button3_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button3.Click Dim buttonGraphics As Graphics = Button3.CreateGraphics() Dim myPen As Pen = New Pen(Color.ForestGreen, 4.0F) myPen.DashStyle = Drawing2D.DashStyle.DashDotDot Dim theRectangle As Rectangle = Button3.ClientRectangle theRectangle.Inflate(-2, -2) buttonGraphics.DrawRectangle(myPen, theRectangle) buttonGraphics.Dispose() myPen.Dispose() End Sub
private void Button3_Click(System.Object sender, System.EventArgs e) { Graphics buttonGraphics = Button3.CreateGraphics(); Pen myPen = new Pen(Color.ForestGreen, 4.0F); myPen.DashStyle = System.Drawing.Drawing2D.DashStyle.DashDotDot; Rectangle theRectangle = Button3.ClientRectangle; theRectangle.Inflate(-2, -2); buttonGraphics.DrawRectangle(myPen, theRectangle); buttonGraphics.Dispose(); myPen.Dispose(); }
private: void Button3_Click( System::Object^ /*sender*/, System::EventArgs^ /*e*/ ) { Graphics^ buttonGraphics = Button3->CreateGraphics(); Pen^ myPen = gcnew Pen( Color::ForestGreen,4.0F ); myPen->DashStyle = System::Drawing::Drawing2D::DashStyle::DashDotDot; Rectangle theRectangle = Button3->ClientRectangle; theRectangle.Inflate( -2, -2 ); buttonGraphics->DrawRectangle( myPen, theRectangle ); delete buttonGraphics; delete myPen; }
private void button3_Click(Object sender, System.EventArgs e) { Graphics buttonGraphics = button3.CreateGraphics(); Pen myPen = new Pen(Color.get_ForestGreen(), 4.0F); myPen.set_DashStyle(System.Drawing.Drawing2D.DashStyle.DashDotDot); Rectangle theRectangle = button3.get_ClientRectangle(); theRectangle.Inflate(-2, -2); buttonGraphics.DrawRectangle(myPen, theRectangle); buttonGraphics.Dispose(); myPen.Dispose(); } //button3_Click
プラットフォームWindows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照
構文
解説
プラットフォームWindows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照
パブリック メソッド
プロテクト メソッド| 名前 | 説明 | |
|---|---|---|
| Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
| MemberwiseClone | オーバーロードされます。 ( MarshalByRefObject から継承されます。) |
参照直線および曲線の描画に使用するオブジェクトを定義します。このクラスは継承できません。
パブリック コンストラクタ
パブリック プロパティ
パブリック メソッド
プロテクト メソッド| 名前 | 説明 | |
|---|---|---|
| Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
| MemberwiseClone | オーバーロードされます。 ( MarshalByRefObject から継承されます。) |
参照出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/08/28 00:45 UTC 版)
PEN(ペン)
PEN(ピー・イー・エヌ)
(pen. から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2026/02/14 07:56 UTC 版)
ペン(英: pen)とは、硬筆の筆記具のうち、インクによって書く物の総称である。例えば、サインペン、フェルトペン、ボールペンなど「ペン」と付く物の他に、万年筆などもペンに当たる。元々は羽根ペンのようなつけペン形式で、先端にインクを適宜付け、毛管現象などでインクを保持させつつ書く形態であった。近代以降、ペンにインクが内蔵された形態が発達した。
ヒトがいつごろから指で砂や土に線を描いていたのか、指や棒に顔料をつけ岩壁などに線を描いていたのか正確なことは分かっていない。ただ、ラスコー洞窟の壁画など、太古の洞窟壁画には、ヒトの手形、木の棒に赤土などをつけて描いた線や絵画などが残されている。棒や茎を利用しそれを細く削ることで、指先に顔料をつけて描くのと比べて、細い線を描くことも出来る。ペンの最も単純な形態は、棒や茎の先に顔料をつけ、これを擦り付け線を描くことだとも言えよう。
シュメール人によって古代メソポタミア時代、3000年にもわたって楔形文字で様々な記録がされたわけだが、それは粘土板が湿ってやわらかいうちに、木の棒でくさびがたの印を複数つけて文字としたもので現代では楔形文字と呼ばれる。文字は粘土の凹みで表現され、インクは用いなかった。
パピルスに文字を書くには、古代エジプトでは葦の茎をペンとして使った[1]。茎を斜めに切り、尖らせることで細い線も描けた。古代ギリシアやローマでもパピルスを用いたのだがギリシアやローマでは葦のペン以外にも青銅製のペンも用いた。なお古代ローマでは粘土板も用いられていた。ローマ軍がガリアやブリタニアに遠征した時に、小さな四角い木枠に粘土を入れた粘土板に、尖った固い筆記具でラテン語で、本拠地のローマへ通信文を書くのに用いたものが近年でも発掘されている[要出典]。
タルムードの時代、ユダヤ人たちは葦の茎のペンを用いた[2]。この時代のインクは、オリーブオイルの灯で器をあぶってできた煤を、オリーブオイルとはちみつと没食子(gallnut)に混ぜて用いた[2]。
中世ヨーロッパでは羊皮紙に文字を書き、修道院などでは手書きの筆写による写本づくりを行っていた。ペンは鵞鳥などの羽根ペンを用い、インクは砕いた没食子を水で溶いたものとアラビアゴムの混合物を煤や鉄塩で着色した没食子インクを使った。
1809年にイギリスのフレデリック・バーソロミュー・フォルシュによって万年筆の特許が取得されるなど、近代になって、インクをペン内部に蓄えペン先にインクを供給する構造が発明された。今日利用されるペンの多くはインクをタンクもしくはカートリッジにより軸内に貯めた形態となっている。こうしたタイプのペンのインクの供給方法には、毛細管現象を利用するものと、重力により自然とペン先にインクが集まるようにしたものが見られ、こと万年筆ではその両方を利用している。
ボールペンではややその事情が異なり、先端部で自由に回転する小さなボールにインクを付着させ、ボールを転がしながら対象に擦り付ける形で線を描くものだが、19世紀末に原理は発案されながら、インクの粘性など実用に至るのは1930-1940年代である。
弱点はペン先のボールと対象の間に十分な摩擦力が無いとボールが回転せず、線を描くことが出来ない点で、あるいは、ある程度は重力でインクが降下しないとペン先のボールにインクが行き渡らないため、一般のボールペンは万年筆同様、逆さに使用したり無重力環境では利用できない。そのような環境で利用できるようにガスでインクを加圧したスペースペンも作られている。
ただ、マンガを描く人、こだわりのある芸術家などでは、今もつけペンやガラスペンなどを用いる場合があり、こういう人は、ペンをインク壺につけては線を描いたり文字を書くということを今もさかんに行っている。
近代的なペンでは、高級品では軸が象牙製、琥珀製、貴金属製などもある。合成樹脂製の登場によって安価になり形状も多様化し、使い捨てのものも増えた。貿易における商材として関税の扱いは国により幅がある[3]。
現在では多種多様な製品が流通しており[4][5][6][7]、特定の作業に特化したもの[8]、特殊な機能を追加したものなどもある。ペン先やペン構造に工夫の凝らされたペン、軸にゴム製の部品を組み合わせ、すべりにくくし「グリップ」性能を高めたものや、軸素材に抗菌素材を利用して衛生をアピールする製品もある。インク[9][10]、顔料、塗料に特殊な工夫を凝らしたペンがある[6]。
ペンでは一般に、書いたものが長年月消えず、文書が長期保存できることが求められ、それが評価されているものは多い。油性ボールペンなどは長年月でも退色しないことで、保存文書に適した筆記具として、公的な書類で使用することが認められている[注 1]。だが最近ではそうした常識の外にビジネスチャンスを見出し、あえて書いたものが簡単に消せるインクを用いていることをアピールポイントにしたペンも登場した。あるいは一方でみつろうペン[12]、触図筆ペンなど視覚を補うユニバーサルな製品の開発[13][14][15]も進み、他方でペンに変わる筆記形態へと進んでいる[16]。
ペンは転じて、言葉・文章、文章を書くことを比喩的(メタファー的に)指す場合もある。「ペンは剣よりも強し」などがある。また、「ペンネーム」「ペンパル」などもその類である。
また、ペンのように細長い物をペンに喩える例も見られ、ペンではないのに名称に「ペン」と付く事例が幾つもある。例えば、アナフィラキシーショックの治療に使用することのあるエピペン[17]、糖尿病治療に使用することのあるインスリン自己注射キット[18]の商品名の一部(ノボペン[19]、ヒューマペン、フレックスペン[20]、ミリオペン[21]など[22])、電気機器への入力に使うデジタルペン[23][24]、やる気ペン[25]が挙げられ、裁縫に用いるチャコペンなどはチョークを芯にした鉛筆(ペンシル)である。ペン状のライトであるペンライト、掃除用に使うクリーニングペンも同様。
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/11/27 16:33 UTC 版)
「ペン (曖昧さ回避)」の記事における「Pen」の解説
ペン - 筆記具の一種。 Pen (雑誌) - CCCメディアハウスが毎月1日・15日に発行するライフスタイル誌。 ペン (囲い) - 牧場等におけるの囲い 詳細は「Pen (enclosure)」を参照 国際ペンクラブ (PEN International) - P.E.N.とも。文学の推進や表現の自由を擁護する国際団体。 オリンパス ペン - オリンパス社が1959年に発売したカメラシリーズ。あるいは、その派生種・後継種を含んだ総称。オリンパス・ペンF - 上記会社が1963年に発売した一眼レフカメラシリーズ。 上記会社が2009年に発売したミラーレス一眼式デジタルカメラシリーズ。なお、厳密には上記2種の派生・後継種ではない。オリンパス・ペン#デジタルカメラ・シリーズ
※この「Pen」の解説は、「ペン (曖昧さ回避)」の解説の一部です。
「Pen」を含む「ペン (曖昧さ回避)」の記事については、「ペン (曖昧さ回避)」の概要を参照ください。
pen.と同じ種類の言葉