Bitmap for WPF
|
|
|
- ああす かつま
- 7 years ago
- Views:
Transcription
1 更新 グレープシティ株式会社
2 目次 Bitmap for WPF 2 主な特長 3 オブジェクトモデルの概要 4 クイックスタート 5-7 機能 8 画像の読み込みおよび保存 8-9 変換の適用 9 画像のクリッピング 9-12 画像の反転 画像の回転 画像の拡大 / 縮小 Bitmap の操作 18 Direct2D エフェクトの適用 Copyright GrapeCity, Inc. All rights reserved.
3 Bitmap for WPF Bitmap for WPF ComponentOne には 画像を読み込み 保存 変換するためのクラスライブラリである Bitmap for WPF が導入されていま す Bitmap を使用すると イメージファイル上でクリップ 反転 拡大/縮小 回転 またはこれらの変換の任意の組み合わせ を適用することができます さらに Bitmap ではさまざまな画像処理ニーズに対応するためにさまざまなコンテナ形式をサ ポートしており 画像のピクセル形式を変更することができます 2 Copyright GrapeCity, Inc. All rights reserved.
4 主な特長 以下に示すように Bitmap は単純な画像の読み込みと保存だけでなく 多くの高度な画像処理機能を提供します 画像の読み込み Bitmap は BMP PNG JPEG JPEG-XR ICO などのさまざまなコンテナ形式の画像を読み込みます ビットマップは単一フレームの TIFF と GIF もサポートしています さらに Bitmap では C1Bitmap の同一インスタンス内に複数の画像をを1つずつ読み込むことができます 画像の保存読み込み時と同様に Bitmap に読み込まれた画像は ストレージファイル メモリストリーム または別の Bitmap オブジェクトに保存することができます さらに Bitmap はサポートされている各コンテナ形式に対して個別の SaveAs メソッドを提供します Bitmap は ICO 形式での画像の保存をサポートしていません 画像の変換 Bitmap を使用して 画像にさまざまな変換を適用できます 例えば 変換を適用して画像を簡単にクリップ クロップ 回転 拡大 / 縮小することができます Direct2D エフェクトの適用 Bitmap では 画像に対して Direct2D エフェクトを適用し さまざまなアニメーションやイメージングエフェクトを作成できます 3 Copyright GrapeCity, Inc. All rights reserved.
5 オブジェクトモデルの概要 Bitmap には さまざまなクラス オブジェクト コレクション および関連する画像処理用のメソッドおよびプロパティを提供する リッチなオブジェクトモデルが付属しています 以下の表は これらのオブジェクトの一部とその主要なプロパティを示します C1Bitmap プロパティ : HasImage HasMetadata ImagingFactory IsDisposed NativeBitmap PixelFormat PixelHeight PixelWidth メソッド : Import Load Save Transform Clipper プロパティ : ImageRect FlipRotator プロパティ : TransformOptions FormatConverter プロパティ : DestinationFormat Palette PaletteTranslate Scaler プロパティ : DestinationHeight DestinationWidth InterpolationMode 4 Copyright GrapeCity, Inc. All rights reserved.
6 クイックスタート このクイックスタートでは Bitmap を使用して画像を読み込む方法を説明します Visual Studio で WPF アプリケーションを作成し サンプル画像をアプリケーションに追加し Bitmap を使用して標準のイメージコントロールにサンプル画像を読み込むコードを追加することから始めます このセクションに記載されたコードは ストリームオブジェクトを介して Bitmap に画像を読み込む方法を示しています Bitmap を使用して標準のイメージコントロールに画像を読み込むには 以下の手順を実行してください 1. アプリケーションの設定とサンプル画像の追加 2. Bitmap を使用して画像を読み込むコードの追加 以下の画像は アプリケーションがボタンクリックによって Bitmap 内に読み込まれた画像を表示する例を示しています 手順 1: アプリケーションの設定とサンプル画像の追加 1. Visual Studioで WPF アプリケーションを作成します 2. アプリケーションに以下の参照を追加します C1.WPF.4 C1.WPF.Bitmap.4 C1.WPF.Automation.4 C1.WPF.DX.4 3. ソリューションエクスプローラ 内で プロジェクト名を右クリックして [ 追加 ] [ 新しいフォルダ ] を選択し Resources という名前を付けます 4. Visual Studioで サンプル画像を Resources フォルダに追加し プロパティウィンドウにて ビルドアクション プロパティを 埋め込みリソース に設定します 5. クリックされたらサンプル画像を読み込むための標準の Button コントロールと サンプル画像を MainWindow 上に表示するための image コントロールを追加します 5 Copyright GrapeCity, Inc. All rights reserved.
7 6. XAML ビューにて ボタンの Content プロパティに適切なテキストを設定します 手順 2:Bitmap を使用して画像を読み込むコードの追加 1. コードビューに切り替えて 以下の import ステートメントを追加します Imports C1.WPF Imports C1.WPF.Bitmap Imports C1.Util.DX Imports System.Reflection Imports System.IO using C1.WPF; using C1.WPF.Bitmap; using C1.Util.DX; using System.Reflection; using System.IO; 2. MainWindow クラスのビットマップを初期化します ' ビットマップを初期化します Private bitmap As C1Bitmap Public Sub New() ' デザイナーによって必要とされる呼び出し InitializeComponent() bitmap = New C1Bitmap() ' InitializeComponent() 呼び出しの後に任意の初期化を追加します // ビットマップを初期化します C1Bitmap bitmap = new C1Bitmap(); 3. ボタンのクリックイベントをサブスクライブし ストリームオブジェクトからビットマップにサンプル画像を読み込むために 以下のコードを追加します ' ボタンをクリックした際に 画像をストリームにロードします Private Sub Btn_Load_Click(sender As Object, e As RoutedEventArgs) _ Handles Btn_Load.Click Dim t As Type = Me.GetType Dim asm As Assembly = t.assembly Dim stream As Stream = asm.getmanifestresourcestream(t, "GrapeCity.png") bitmap.load(stream, New FormatConverter(PixelFormat.Format32bppPBGRA)) UpdateImage() // ボタンをクリックした際に 画像をストリームにロードします private void Button_Click(object sender, RoutedEventArgs e) Assembly asm = typeof(mainwindow).assembly; using (Stream stream = asm.getmanifestresourcestream("bitmap.resources.grapecity.png")) bitmap.load(stream, new FormatConverter(PixelFormat.Format32bppPBGRA)); UpdateImage(); 6 Copyright GrapeCity, Inc. All rights reserved.
8 4. サンプル画像を表示する UpdateImage メソッドを定義するために 以下のコードを追加します ' ロードされた画像を表示します Private Sub UpdateImage() Me.image.Source = bitmap.towriteablebitmap() Me.image.Width = bitmap.pixelwidth Me.image.Height = bitmap.pixelheight // ロードされた画像を表示します private void UpdateImage() this.image.source = bitmap.towriteablebitmap(); this.image.width = bitmap.pixelwidth; this.image.height = bitmap.pixelheight; 7 Copyright GrapeCity, Inc. All rights reserved.
9 機能 Bitmap は ユーザーのプロセスを支援し画像を処理するための多くの機能をサポートしています 画像の読み込みおよび保存読み込みおよび保存をコード内に実装する方法を学びます 変換の適用さまざまな変換をコード内に適用する方法を学びます 画像の読み込みおよび保存 Bitmap には画像を読み込むためのさまざまな方法があります C1Bitmap クラスは ファイルやメモリストリームなどのさまざまなソースから画像を読み込むための いくつかの Load オーバーロードメソッドを提供します また 画像のメタデータを読み込み 画像のサイズ ピクセル形式 または解像度 (1 インチあたりのドット数 ) を決定するために使用できます 読み込まれた画像は ファイルまたはメモリストリームに保存することができます C1Bitmap クラスは コンテナ形式を引数として受け入れる一般的な Save メソッドを提供します C1Bitmap はまた サポートされている各コンテナ形式に対して個別の SaveAs メソッドを提供します 以下のコードは ボタンのクリック時に任意の画像を読み込んで保存する方法を示しています コード例では OpenFileDialog および SaveFileDialog を使用して ユーザーのマシンの任意の場所に保存されている画像ファイルにアクセスします ストリームオブジェクトから画像を読み込む方法については クイックスタート を参照してください Partial Public Class MainWindow Inherits Window ' ビットマップのグローバル変数を定義します Dim bitmap As New C1Bitmap() ' ボタンクリック時にピクチャボックスに任意の画像をロードするイベント Private Sub Button_Click(sender As Object, e As RoutedEventArgs) Dim ofd = New OpenFileDialog() ofd.filter = "Image Files *.ico;*.bmp;*.gif;" + "*.png;*.jpg;*.jpeg;*.jxr;*.tif;*.tiff" If ofd.showdialog().value Then bitmap.load(ofd.filename, New FormatConverter(PixelFormat.Format32bppPBGRA)) Image.Source = bitmap.towriteablebitmap() Image.Width = bitmap.pixelwidth Image.Height = bitmap.pixelheight End If ' ボタンクリック時にピクチャーボックスに表示される画像をファイルとして保存するイベント Private Sub Button_Click_1(sender As Object, e As RoutedEventArgs) Dim sfd As New SaveFileDialog() sfd.filter = "Png Files (*.png) *.png" sfd.checkpathexists = True If sfd.showdialog().value Then bitmap.save(sfd.filename, ContainerFormat.Png) End If End Class 8 Copyright GrapeCity, Inc. All rights reserved.
10 public partial class MainWindow : Window // ビットマップのグローバル変数を定義します C1Bitmap bitmap; public MainWindow() InitializeComponent(); // ビットマップを初期化します bitmap = new C1Bitmap(); // ボタンクリック時にピクチャボックスに任意の画像をロードするイベント private void Button_Click(object sender, RoutedEventArgs e) var ofd = new OpenFileDialog(); ofd.filter = "Image Files *.ico;*.bmp;*.gif;" + "*.png;*.jpg;*.jpeg;*.jxr;*.tif;*.tiff"; if (ofd.showdialog().value) bitmap.load(ofd.filename, new FormatConverter(PixelFormat.Format32bppPBGRA)); image.source = bitmap.towriteablebitmap(); image.width = bitmap.pixelwidth; image.height = bitmap.pixelheight; // ボタンクリック時にピクチャーボックスに表示される画像をファイルとして保存するイベント private void Button_Click_1(object sender, RoutedEventArgs e) SaveFileDialog sfd = new SaveFileDialog(); sfd.filter = "Png Files (*.png) *.png"; sfd.checkpathexists = true; if (sfd.showdialog().value) bitmap.save(sfd.filename, ContainerFormat.Png); 変換の適用 Bitmap は クリッピング 反転 拡大 / 縮小 回転など 画像に対してさまざまな変形を適用できます これらの変換とその実装方法について学びます 画像のクリッピングコード内にクリッピング処理を実装する方法を学びます 画像の反転コード内に反転処理を実装する方法を学びます 画像の回転コード内に回転処理を実装する方法を学びます 画像の拡大 / 縮小コード内に拡大 / 縮小処理を実装する方法を学びます 9 Copyright GrapeCity, Inc. All rights reserved.
11 画像のクリッピング 2 次元画像において 選択されたフレーム領域の境界内のピクセルの選択的レンダリングを提供するにあたっては クリッピングが必須の要件となります Bitmap は クリッパー変換を使用してソース画像をクリップし 画像全体の一部を読み込むことができます 以下の画像は クリッピング機能を示しています コード内で Bitmap を使用してイメージをクリップするには 次の手順を実行します 1. 次の import ステートメントを追加します Imports System.IO using System.IO; 2. Form1 クラスにて 矩形と点をグローバル変数として初期化します ' 変数を初期化します Dim start As Point Dim selection As Rect Dim draghelper As C1DragHelper // 変数を初期化します Point start; Rect selection; C1DragHelper draghelper; 3. MainWindow コンストラクタ内で ドラッグジェスチャーを制御する変数を初期化し ドラッグイベントをサブスクライブしま 10 Copyright GrapeCity, Inc. All rights reserved.
12 す ' ドラッグジェスチャーのためにドラッグヘルパーを初期化します draghelper = New C1DragHelper(image) ' ドラッグイベントを登録します draghelper.dragdelta += draghelper_dragdelta() // ドラッグジェスチャーのためにドラッグヘルパーを初期化します draghelper = new C1DragHelper(image); // ドラッグイベントを登録します draghelper.dragdelta += draghelper_dragdelta; 4. クリッパー変換を適用するために 以下のコードを追加します ' 変換を適用するための Transform メソッド Private Sub ApplyTransform(t As BaseTransform) Dim newbitmap = bitmap.transform(t) bitmap.dispose() bitmap = newbitmap UpdateImage() ' ボタンクリック時にクリッパー変換を適用するイベント Private Sub Button_Click(sender As Object, e As RoutedEventArgs) Dim croprect = DirectCast(selection, RectD).Round() ApplyTransform(New Clipper(New ImageRect(cropRect))) // 変換を適用するメソッド void ApplyTransform(BaseTransform t) var newbitmap = bitmap.transform(t); bitmap.dispose(); bitmap = newbitmap; UpdateImage(); // ボタンクリック時にクリッパー変換を適用するイベント private void Button_Click_1(object sender, RoutedEventArgs e) var croprect = ((RectD)selection).Round(); ApplyTransform(new Clipper(new ImageRect(cropRect))); 5. クリップされる画像の一部分を選択するために 以下のコードを追加します ' 画像から画像の一部を選択するイベント Private Sub draghelper_dragdelta(sender As Object, e As C1DragDeltaEventArgs) Dim pos = e.getposition(image) pos = New Point(Math.Max(0, Math.Min(pos.X, bitmap.pixelwidth)), Math.Max(0, Math.Min(pos.Y, bitmap.pixelheight))) selection = New Rect(Math.Round(Math.Min(start.X, pos.x)), Math.Round(Math.Min(start.Y, pos.y)), Math.Round(Math.Abs(start.X - pos.x)), Math.Round(Math.Abs(start.Y - pos.y))) Private Sub image_mouseleftbuttondown(sender As Object, e As MouseButtonEventArgs) _ Handles image.mouseleftbuttondown MyBase.OnMouseLeftButtonDown(e) Dim pos = e.getposition(image) start = New Point(Math.Max(0, Math.Min(pos.X, bitmap.pixelwidth)), Math.Max(0, Math.Min(pos.Y, bitmap.pixelheight))) 11 Copyright GrapeCity, Inc. All rights reserved.
13 Private Sub image_mouseleftbuttonup(sender As Object, e As MouseButtonEventArgs) _ Handles image.mouseleftbuttonup MyBase.OnMouseLeftButtonUp(e) Dim pt = e.getposition(image) If Math.Abs(pt.X - start.x) < 4 AndAlso Math.Abs(pt.Y - start.y) < 4 Then selection = New Rect(0, 0, bitmap.pixelwidth, bitmap.pixelheight) End If // 画像から画像の一部を選択するイベント private void image_mouseleftbuttondown(object sender, System.Windows.Input.MouseButtonEventArgs e) base.onmouseleftbuttondown(e); var pos = e.getposition(image); start = new Point( Math.Max(0, Math.Min(pos.X, bitmap.pixelwidth)), Math.Max(0, Math.Min(pos.Y, bitmap.pixelheight))); private void image_mouseleftbuttonup(object sender, System.Windows.Input.MouseButtonEventArgs e) base.onmouseleftbuttonup(e); var pt = e.getposition(image); if (Math.Abs(pt.X - start.x) < 4 && Math.Abs(pt.Y - start.y) < 4) selection = new Rect(0, 0, bitmap.pixelwidth, bitmap.pixelheight); void draghelper_dragdelta(object sender, C1DragDeltaEventArgs e) var pos = e.getposition(image); pos = new Point(Math.Max(0, Math.Min(pos.X, bitmap.pixelwidth)), Math.Max(0, Math.Min(pos.Y, bitmap.pixelheight))); selection = new Rect( Math.Round(Math.Min(start.X, pos.x)), Math.Round(Math.Min(start.Y, pos.y)), Math.Round(Math.Abs(start.X - pos.x)), Math.Round(Math.Abs(start.Y - pos.y))); 6. F5 キーを押してアプリケーションを実行し 画像の読み込み ボタンをクリックして画像を読み込みます 7. 画像の一部をマウスで選択し 画像のクリッピング ' ボタンをクリックすると 選択された部分が切り取られます 画像の反転 Bitmap は 画像を縦方向または横方向に反転できます Bitmap を使用して反転したイメージを生成するには FlipRotator クラスの TransformOptions プロパティを設定します TransformOptions プロパティは TransformOptions 列挙値によって設定できます 以下の画像は 横方向に反転した画像を示しています 12 Copyright GrapeCity, Inc. All rights reserved.
14 以下のコードは ボタンのクリック時に画像を上下または左右に反転させる方法を示しています この例では クイックスタート セクションで作成したサンプルを使用します Private Sub ApplyTransform(t As BaseTransform) Dim newbitmap = bitmap.transform(t) bitmap.dispose() bitmap = newbitmap UpdateImage() ' ボタンクリック時に画像を縦方向に反転させるイベント Private Sub Button_Click_1(sender As Object, e As RoutedEventArgs) ApplyTransform(New FlipRotator(TransformOptions.FlipVertical)) ' ボタンクリック時に画像を横方向に反転させるイベント Private Sub Button_Click_2(sender As Object, e As RoutedEventArgs) ApplyTransform(New FlipRotator(TransformOptions.FlipHorizontal)) void ApplyTransform(BaseTransform t) var newbitmap = bitmap.transform(t); bitmap.dispose(); bitmap = newbitmap; UpdateImage(); 13 Copyright GrapeCity, Inc. All rights reserved.
15 // ボタンクリック時に画像を縦方向に反転させるイベント private void Button_Click_1(object sender, RoutedEventArgs e) ApplyTransform(new FlipRotator(TransformOptions.FlipVertical)); // ボタンクリック時に画像を横方向に反転させるイベント private void Button_Click_2(object sender, RoutedEventArgs e) ApplyTransform(new FlipRotator(TransformOptions.FlipHorizontal)); 画像の回転 Bitmap では 画像を時計回りに 90 度 180 度 270 度に回転できます Bitmap を使用してイメージを回転するには FlipRotator クラスの TransformOptions プロパティを設定します TransformOption プロパティは TransformOptions 列挙値によって設定できます 以下の画像は 時計回りに 180 度回転した画像を示しています 以下のコードは ボタンのクリック時に時計回りと反時計回りの方向に画像を回転させる方法を示しています この例では クイックスタート セクションで作成したサンプルを使用します Private Sub ApplyTransform(t As BaseTransform) Dim newbitmap = bitmap.transform(t) bitmap.dispose() bitmap = newbitmap UpdateImage() 14 Copyright GrapeCity, Inc. All rights reserved.
16 ' ボタンをクリック時に時計回りに画像を回転させるイベント Private Sub Button_Click_1(sender As Object, e As RoutedEventArgs) ApplyTransform(New FlipRotator(TransformOptions.Rotate180)) ' ボタンクリック時に反時計回りに画像を回転させるイベント Private Sub Button_Click_2(sender As Object, e As RoutedEventArgs) ApplyTransform(New FlipRotator(TransformOptions.Rotate270)) void ApplyTransform(BaseTransform t) var newbitmap = bitmap.transform(t); bitmap.dispose(); bitmap = newbitmap; UpdateImage(); // ボタンをクリック時に画像を時計回りに回転させるイベント private void Button_Click_1(object sender, RoutedEventArgs e) ApplyTransform(new FlipRotator(TransformOptions.Rotate180)); // ボタンクリック時に画像を反時計回りに回転させるイベント private void Button_Click_2(object sender, RoutedEventArgs e) ApplyTransform(new FlipRotator(TransformOptions.Rotate270)); 画像の拡大 / 縮小 画像の拡大 / 縮小 ( スケーリング ) は 画像のリサイズ ( サイズの増減 ) に伴う画像処理の重要な要件です Bitmap では Scaler クラスの InterpolationMode プロパティを使用して 画像の拡大 / 縮小を行うことができます 以下の画像は 拡大 / 縮小機能を示しています 15 Copyright GrapeCity, Inc. All rights reserved.
17 以下のコードは ボタンクリック時の画像の拡大 / 縮小を示しています この例では クイックスタート セクションで作成したサンプルを使用します Private Sub ApplyTransform(t As BaseTransform) Dim newbitmap = bitmap.transform(t) bitmap.dispose() bitmap = newbitmap UpdateImage() ' ボタンをクリックする時に画像の拡大を行うイベント Private Sub Button_Click_1(sender As Object, e As RoutedEventArgs) Dim px As Integer = CInt(bitmap.PixelWidth * 0.625F + 0.5F) Dim py As Integer = CInt(bitmap.PixelHeight * 0.625F + 0.5F) If px > 0 AndAlso py > 0 Then ApplyTransform(New Scaler(px, py, InterpolationMode.HighQualityCubic)) End If ' ボタンをクリックする時に画像の縮小を行うイベント Private Sub Button_Click_2(sender As Object, e As RoutedEventArgs) Dim px As Integer = CInt(bitmap.PixelWidth * 1.6F + 0.5F) Dim py As Integer = CInt(bitmap.PixelHeight * 1.6F + 0.5F) ApplyTransform(New Scaler(px, py, InterpolationMode.HighQualityCubic)) 16 Copyright GrapeCity, Inc. All rights reserved.
18 void ApplyTransform(BaseTransform t) var newbitmap = bitmap.transform(t); bitmap.dispose(); bitmap = newbitmap; UpdateImage(); // ボタンをクリックする時に画像の拡大を行うイベント private void Button_Click_1(object sender, RoutedEventArgs e) int px = (int)(bitmap.pixelwidth * 0.625f + 0.5f); int py = (int)(bitmap.pixelheight * 0.625f + 0.5f); if (px > 0 && py > 0) ApplyTransform(new Scaler(px, py, InterpolationMode.HighQualityCubic)); // ボタンをクリックする時に画像の縮小を行うイベント private void Button_Click_2(object sender, RoutedEventArgs e) int px = (int)(bitmap.pixelwidth * 1.6f + 0.5f); int py = (int)(bitmap.pixelheight * 1.6f + 0.5f); ApplyTransform(new Scaler(px, py, InterpolationMode.HighQualityCubic)); 17 Copyright GrapeCity, Inc. All rights reserved.
19 Bitmap の操作 Bitmap の操作 セクションは ユーザーの皆様が Bitmap コントロールの基礎と機能および一般的な使用方法を理解していることを前提としています 次のセクションでは Bitmap で提供されている補助機能について説明します Direct2D エフェクトの適用 Direct2D エフェクトをコードで適用する方法を説明します Direct2D エフェクトの適用 Direct2D は Microsoft によって設計された 2D グラフィック API で 画像を操作するための広範な組み込みおよびカスタムのエフェクトが提供されています この API を使用すると ビットマップ 2D ジオメトリ テキストの高品質で高速なレンダリングが可能です Bitmap では Direct2D のエフェクトを使用したり 画像にエフェクトを適用することができます Bitmap を使用して適用できる画像エフェクトを次に一覧します ブラー ( ガウス ) シャープネス水平スミアシャドウディスプレイスメントマップエンボスエッジ検出セピア これらのエフェクトから 1 つを選んで画像に適用してみましょう 次の図は Bitmap で Direct2D を使用する例として 組み込み 2D エフェクトの 1 つ シャドウを示しています コードで Bitmap が Direct2D ビットマップに変換されます 次に Direct2D を使用して画像を操作し Direct3D API との相互運 18 Copyright GrapeCity, Inc. All rights reserved.
20 用によって組み込みエフェクト シャドウが適用されます すべての操作が完了したら 画像が Direct2D ビットマップから C1Bitmap にロードし直されます 画像にシャドウエフェクトを適用するには C1.Util.DX.Direct2D.Effects 名前空間のメンバクラスである Shadow AffineTransform2D Composite のプロパティを使用します 以下の手順は 2D シャドウエフェクトを画像に適用する方法を示します この例では クイックスタート で作成したサンプルを使用します 1. 次の名前空間を追加します Imports D2D = C1.Util.DX.Direct2D Imports D3D = C1.Util.DX.Direct3D11 Imports DW = C1.Util.DX.DirectWrite Imports DXGI = C1.Util.DX.DXGI Imports C1.Util.DX using D2D = C1.Util.DX.Direct2D; using D3D = C1.Util.DX.Direct3D11; using DW = C1.Util.DX.DirectWrite; using DXGI = C1.Util.DX.DXGI; using C1.Util.DX; 2. 次のクラスオブジェクトを作成します Private bitmap As C1Bitmap ' 装置独立リソース Private d2dfactory As D2D.Factory2 Private dwfactory As DW.Factory ' 装置リソース Private dxgidevice As DXGI.Device Private d2dcontext As D2D.DeviceContext1 ' Direct2D の組み込み効果 Private shadow As D2D.Effects.Shadow Private affinetransform As D2D.Effects.AffineTransform2D Private composite As D2D.Effects.Composite C1Bitmap bitmap; // 装置独立リソース D2D.Factory2 d2dfactory; DW.Factory dwfactory; // 装置リソース DXGI.Device dxgidevice; D2D.DeviceContext1 d2dcontext; // Direct2D の組み込み効果 D2D.Effects.Shadow shadow; D2D.Effects.AffineTransform2D affinetransform; D2D.Effects.Composite composite; 3. 次の整数定数と列挙を宣言します Const marginlt As Integer = 20 Const marginrb As Integer = 36 Public Enum ImageEffect Original Shadow End Enum const int marginlt = 20; 19 Copyright GrapeCity, Inc. All rights reserved.
21 const int marginrb = 36; public enum ImageEffect Original, Shadow 4. ストリームを使用して画像を C1Bitmap にロードします 詳細については クイックスタート を参照してください 5. 次のコードを追加して リソースと画像ソースを作成し 画像ソースを画像と関連付けます ' Direct2D および DirectWrite ファクトリを作成します d2dfactory = D2D.Factory2.Create(D2D.FactoryType.SingleThreaded) dwfactory = DW.Factory.Create(DW.FactoryType.[Shared]) ' GPU リソースを作成します CreateDeviceResources() // Direct2D および DirectWrite ファクトリを作成します d2dfactory = D2D.Factory2.Create(D2D.FactoryType.SingleThreaded); dwfactory = DW.Factory.Create(DW.FactoryType.Shared); // GPU リソースを作成します CreateDeviceResources(); 6. 次のコードを追加して 2D シャドウエフェクトを適用します Private Sub Button_Click(sender As Object, e As RoutedEventArgs) UpdateImageSource(ImageEffect.Shadow) Private Sub CreateDeviceResources() Dim actuallevel As D3D.FeatureLevel Dim d3dcontext As D3D.DeviceContext = Nothing Dim d3ddevice = New D3D.Device(IntPtr.Zero) Dim result = HResult.Ok For i As Integer = 0 To 1 ' ハードウェアが利用できない場合は WARP を使用します Dim dt = If(i = 0, D3D.DriverType.Hardware, D3D.DriverType.Warp) result = D3D.D3D11.CreateDevice(Nothing, dt, IntPtr.Zero, _ D3D.DeviceCreationFlags.BgraSupport Or _ D3D.DeviceCreationFlags.SingleThreaded, _ Nothing, 0, _ D3D.D3D11.SdkVersion, d3ddevice, actuallevel, d3dcontext) If result.code <> CInt(&H887A0004UI) Then ' DXGI_ERROR_UNSUPPORTED Exit For End If Next result.checkerror() d3dcontext.dispose() ' DXGI 装置を格納します ( アプリケーションが中断されているときにトリミングするため ) dxgidevice = d3ddevice.queryinterface(of DXGI.Device)() d3ddevice.dispose() ' RenderTarget を作成します (Direct2D 描画用の DeviceContext) Dim d2ddevice = D2D.Device1.Create(d2dFactory, dxgidevice) Dim rt = D2D.DeviceContext1.Create(d2dDevice, D2D.DeviceContextOptions.None) d2ddevice.dispose() rt.setunitmode(d2d.unitmode.pixels) d2dcontext = rt ' 組み込みの効果を作成します shadow = D2D.Effects.Shadow.Create(rt) 20 Copyright GrapeCity, Inc. All rights reserved.
22 affinetransform = D2D.Effects.AffineTransform2D.Create(rt) composite = D2D.Effects.Composite.Create(rt) Private Sub UpdateImageSource(imageEffect 1 As ImageEffect) ' ソース画像の範囲外のピクセルを変更する可能性のある交換があるため ' これらのピクセルを表示するためのマージンが必要です Dim targetoffset = New Point2F(marginLT, marginlt) Dim w As Integer = bitmap.pixelwidth + marginlt + marginrb Dim h As Integer = bitmap.pixelheight + marginlt + marginrb ' レンダー対象オブジェクト Dim rt = d2dcontext ' 対象 Direct2D ビットマップを作成します Dim bptarget = New _ D2D.BitmapProperties1(New D2D.PixelFormat(DXGI.Format.B8G8R8A8_UNorm, _ D2D.AlphaMode.Premultiplied), _ CSng(bitmap.DpiX), CSng(bitmap.DpiY), D2D.BitmapOptions.Target Or _ D2D.BitmapOptions.CannotDraw) Dim targetbmp = D2D.Bitmap1.Create(rt, New Size2L(w, h), bptarget) ' 対象ビットマップをレンダー対象に関連付けます rt.settarget(targetbmp) ' 描画を開始します rt.begindraw() ' 対象ビットマップをクリアします rt.clear(nothing) ' C1Bitmap 画像を Direct2D 画像に変換します Dim d2dbitmap = bitmap.tod2dbitmap1(rt, D2D.BitmapOptions.None) Select Case imageeffect 1 Case ImageEffect.Original rt.drawimage(d2dbitmap, targetoffset) Exit Select Case ImageEffect.Shadow rt.drawimage(applyshadow(d2dbitmap), targetoffset) Exit Select End Select d2dbitmap.dispose() If Not rt.enddraw(true) Then targetbmp.dispose() ' 旧 GPU 装置が削除された場合 装置リソースを再作成してみてください DiscardDeviceResources() CreateDeviceResources() Return End If ' 対象ビットマップをデタッチします rt.settarget(nothing) ' 一時的な C1Bitmap オブジェクトを作成します Dim outbitmap = New C1Bitmap(bitmap.ImagingFactory) ' Direct2D 対象ビットマップから C1Bitmap に画像をインポートします outbitmap.import(targetbmp, rt, New RectL(w, h)) targetbmp.dispose() ' C1Bitmap を WriteableBitmap に変換し イメージソースとして使用します image.source = outbitmap.towriteablebitmap() 21 Copyright GrapeCity, Inc. All rights reserved.
23 outbitmap.dispose() Private Sub DiscardDeviceResources() shadow.dispose() affinetransform.dispose() composite.dispose() dxgidevice.dispose() d2dcontext.dispose() Private Function ApplyShadow(bitmap As D2D.Bitmap1) As D2D.Effect shadow.setinput(0, bitmap) shadow.blurstandarddeviation = 5.0F affinetransform.setinputeffect(0, shadow) affinetransform.transformmatrix = Matrix3x2.Translation(20.0F, 20.0F) composite.setinputeffect(0, affinetransform) composite.setinput(1, bitmap) Return composite End Function private void Button_Click(object sender, RoutedEventArgs e) UpdateImageSource(ImageEffect.Shadow); private void CreateDeviceResources() D3D.FeatureLevel actuallevel; D3D.DeviceContext d3dcontext = null; var d3ddevice = new D3D.Device(IntPtr.Zero); var result = HResult.Ok; for (int i = 0; i <= 1; i++) // ハードウェアが利用できない場合は WARP を使用します var dt = i == 0? D3D.DriverType.Hardware : D3D.DriverType.Warp; result = D3D.D3D11.CreateDevice(null, dt, IntPtr.Zero, D3D.DeviceCreationFlags.BgraSupport D3D.DeviceCreationFlags.SingleThreaded, null, 0, D3D.D3D11.SdkVersion, d3ddevice, out actuallevel, out d3dcontext); if (result.code!= unchecked((int)0x887a0004)) // DXGI_ERROR_UNSUPPORTED break; result.checkerror(); d3dcontext.dispose(); // DXGI 装置を格納します ( アプリケーションが中断されているときにトリミングするため ) dxgidevice = d3ddevice.queryinterface<dxgi.device>(); d3ddevice.dispose(); // RenderTarget を作成します (Direct2D 描画用の DeviceContext) var d2ddevice = D2D.Device1.Create(d2dFactory, dxgidevice); var rt = D2D.DeviceContext1.Create (d2ddevice, D2D.DeviceContextOptions.None); d2ddevice.dispose(); rt.setunitmode(d2d.unitmode.pixels); d2dcontext = rt; // 組み込みの効果を作成します shadow = D2D.Effects.Shadow.Create(rt); 22 Copyright GrapeCity, Inc. All rights reserved.
24 affinetransform = D2D.Effects.AffineTransform2D.Create(rt); composite = D2D.Effects.Composite.Create(rt); void UpdateImageSource(ImageEffect imageeffect) // ソース画像の範囲外のピクセルを変更する可能性のある交換があるため // これらのピクセルを表示するためのマージンが必要です var targetoffset = new Point2F(marginLT, marginlt); int w = bitmap.pixelwidth + marginlt + marginrb; int h = bitmap.pixelheight + marginlt + marginrb; // レンダー対象オブジェクト var rt = d2dcontext; // 対象 Direct2D ビットマップを作成します var bptarget = new D2D.BitmapProperties1( new D2D.PixelFormat(DXGI.Format.B8G8R8A8_UNorm, D2D.AlphaMode.Premultiplied), (float)bitmap.dpix, (float)bitmap.dpiy, D2D.BitmapOptions.Target D2D.BitmapOptions.CannotDraw); var targetbmp = D2D.Bitmap1.Create(rt, new Size2L(w, h), bptarget); // 対象ビットマップをレンダー対象に関連付けます rt.settarget(targetbmp); // 描画を開始します rt.begindraw(); // 対象ビットマップをクリアします rt.clear(null); // C1Bitmap 画像を Direct2D 画像に変換します var d2dbitmap = bitmap.tod2dbitmap1(rt, D2D.BitmapOptions.None); switch (imageeffect) case ImageEffect.Original: rt.drawimage(d2dbitmap, targetoffset); break; case ImageEffect.Shadow: rt.drawimage(applyshadow(d2dbitmap), targetoffset); break; d2dbitmap.dispose(); if (!rt.enddraw(true)) targetbmp.dispose(); // 旧 GPU 装置が削除された場合 装置リソースを再作成してみてください DiscardDeviceResources(); CreateDeviceResources(); return; // 対象ビットマップをデタッチします rt.settarget(null); // 一時的な C1Bitmap オブジェクトを作成します 23 Copyright GrapeCity, Inc. All rights reserved.
25 var outbitmap = new C1Bitmap(bitmap.ImagingFactory); // Direct2D 対象ビットマップから C1Bitmap に画像をインポートします outbitmap.import(targetbmp, rt, new RectL(w, h)); targetbmp.dispose(); // C1Bitmap を WriteableBitmap に変換し イメージソースとして使用します image.source = outbitmap.towriteablebitmap(); outbitmap.dispose(); private void DiscardDeviceResources() shadow.dispose(); affinetransform.dispose(); composite.dispose(); dxgidevice.dispose(); d2dcontext.dispose(); D2D.Effect ApplyShadow(D2D.Bitmap1 bitmap) shadow.setinput(0, bitmap); shadow.blurstandarddeviation = 5f; affinetransform.setinputeffect(0, shadow); affinetransform.transformmatrix = Matrix3x2.Translation(20f, 20f); composite.setinputeffect(0, affinetransform); composite.setinput(1, bitmap); return composite; 24 Copyright GrapeCity, Inc. All rights reserved.
Bitmap for WinForms
2018.04.11 更新 グレープシティ株式会社 目次 Bitmap for WinForms 2 主な特長 3 オブジェクトモデルの概要 4 クイックスタート 5-6 機能 7 画像の読み込みおよび保存 7-8 変換の適用 8-9 画像のクリッピング 9-12 画像の反転 12-14 画像の回転 14-15 画像の拡大 / 縮小 15-17 Bitmapの操作 18 Direct2D エフェクトの適用
Bitmap for UWP
2018.04.10 更新 グレープシティ株式会社 目次 Bitmap for UWP 2 主な特長 3 オブジェクトモデルの概要 4 クイックスタート 5-6 機能 7 画像の読み込みおよび保存 7-9 変換の適用 9 画像のクリッピング 9-10 画像の反転 10-11 画像の回転 12-13 画像の拡大 / 縮小 13-14 Bitmap の操作 15 Direct2D エフェクトの適用 15-22
Chart3D for WPF/Silverlight
2018.04.10 更新 グレープシティ株式会社 目次 製品の概要 2 ComponentOne for WPF/Silverlight のヘルプ 2 主な特長 3 クイックスタート 4 手順 1: プロジェクトへのコントロールの追加 4-5 手順 2: データの追加 5-6 手順 3: グラフの外観の変更 6-7 手順 4: 凡例の追加 7 手順 5: プロジェクトの実行 7 XAML クイックリファレンス
ICONファイルフォーマット
グラフィックス 画像フォーマットエンコーダパラメータ 様々なフォーマットで画像を保存 Bitmap クラスを用いる事でビットマップ JPEG GIF PNG 等様々なフォーマットの画像を読み込み操作する事が出来る 更に Bitmap クラスや Graphics コンテナを用いて描画処理等を施したイメージをファイルに保存する事も出来る 此の時 読み込めるフォーマット同様に保存するフォーマットを選択する事が出来る
スライド 1
C# の基本 ~ ファイル読み込み ~ 今回学ぶ事 今回はファイル読み書きに必要 BinaryReader クラスについて記載する ファイル参照ダイアログである OpenFileDialog クラスについても理解を深める また Bitmap クラスを用いた Bitmap ファイルの読み込み方法についても学ぶ フォーム作り まず label picturebox を配置する ツールボックスより左クリックで選択する
PDFViewer for WPF/Silverlight
2018.02.20 更新 グレープシティ株式会社 目次 PdfViewer for WPF/Silverlightの概要 2 はじめに 2 PdfViewer の制限 2 主な特長 2-3 クイックスタート 3-4 手順 1: アプリケーションの設定 4 手順 2: ページへのコンテンツの追加 4-6 手順 3: C1PdfViewer アプリケーションの実行 6-7 PdfViewer の要素
グラフィックス
グラフィックス PictureBox の Image プロパティに関する良く有る勘違い PictureBox に画像を表示する方法と仕て PictureBox の Image プロパティを使う方法と Graphics の DrawImage メソッドを使う方法が有るが 此の 2 つの方法を混同し 正しく理解して居ない事が多い様で有る 例えば 下記に列挙する様な状況が 此れに該当する 1.PictureBox
Carousel for WPF/Silverlight
2018.04.10 更新 グレープシティ株式会社 目次 製品の概要 2 ComponentOne for / のヘルプ 2 主な特長 3 クイックスタート 4 手順 1: アプリケーションの作成 4-5 手順 2: アプリケーションへのコンテンツの追加 5-8 手順 3: アプリケーションの実行 8 Carousel for / の使い方 9 C1CarouselPanel の使用 9-10 カルーセルのカスタマイズ
ブロック パニック
ブロックパニック VB 2005 9 プログラムの概要 壁が迫り来る不思議な空間のオリジナルゲーム ブロックパニック を作成する スタートボタンをクリックし上下左右の矢印キーで白猿を移動させる スペースキーを押すと 向いて居る方向の壁が後退する 左右の壁が合わさると ゲームは終了する 一般的に 実用プログラムに比較するとゲームプログラムは 高度なテクニックを要求される事が多い 此処では ゲームプログラムを作成する事に依り
ウィンドウ操作 応用
Win32API 関数 ウィンドウ操作 ウィンドウ名でトップレベルウィンドウ ( 親を持たないウィンドウ ) のハンドルを取得 メモ帳や電卓等のウィンドウ名でトップレベルウィンドウ ( 親を持たないウィンドウ ) のハンドルを取得する方法を 下記に示す Visual Basic Imports System.Runtime.InteropServices Public Class WindowFromWindowName
プロセス間通信
プロセス間通信 プロセス間通信 (SendMessage) プロセス間通信とは 同一コンピューター上で起動して居るアプリケーション間でデータを受け渡し度い事は時々有る Framework には リモート処理 と謂う方法でデータの受け渡しを行なう方法が有る 此処では 此の方法では無く 従来の方法の API を使用したプロセス間通信を紹介する 此の方法は 送信側は API の SendMessage で送り
VFD256 サンプルプログラム
VFD256 サンプルプログラム 目次 1 制御プログラム... 1 2.Net 用コントロール Vfd256 の使い方... 11 2.1 表示文字列の設定... 11 2.2 VFD256 書込み前のクリア処理... 11 2.3 書き出しモード... 11 2.4 表示モード... 12 2.5 表示... 13 2.6 クリア... 13 2.7 接続方法 ボーレートの設定... 13 2.8
バスケットボール
バスケットボール きょうつうへんすうせんげん 共通の変数を宣言する ひょうじ 1. ソリューションエクスプローラで コードの表示をクリックする つぎひょうじところしたかこにゅうりょく 2. 次のコードが表示されるので 1の所に 下の囲いのコードを入力する Imports System.Runtime.InteropServices Public Class Basketball にゅうりょく 1 ここに入力する!
グラフィックトレーニング 概要.NET のグラフィック描画は どんなことができるのでしょうか? グラフィックオブジェクトやグラフィック環境 概念を理解するためには クラスを使って馴れることが近道です 本 書に記載されているコードをカットアンドペーストして 一つ一つの機能を体験してください 前提 グラ
C# & VB 1 グラフィックトレーニング 概要.NET のグラフィック描画は どんなことができるのでしょうか? グラフィックオブジェクトやグラフィック環境 概念を理解するためには クラスを使って馴れることが近道です 本 書に記載されているコードをカットアンドペーストして 一つ一つの機能を体験してください 前提 グラフィックを行うためには Visual Studio の基本操作や C# または VB
VB 資料 電脳梁山泊烏賊塾 音声認識 System.Speech の利用 System.Speech に依るディクテーション ( 音声を文字列化 ).NetFramework3.0 以上 (Visual Studio 2010 以降 ) では 標準で System.Speech が用意されて居るの
音声認識 System.Speech の利用 System.Speech に依るディクテーション ( 音声を文字列化 ).NetFramework3.0 以上 (Visual Studio 2010 以降 ) では 標準で System.Speech が用意されて居るので 此れを利用して音声認識を行うサンプルを紹介する 下記の様な Windows フォームアプリケーションを作成する エディタを起動すると
VB.NET解説
Visual Basic.NET 印刷編 目次 印刷の概要... 2 印刷の流れ... 2 標準の Windows フォーム印刷ジョブの作成... 3 実行時に於ける Windows フォーム印刷オプションの変更... 3 Windows フォームに於ける接続されたプリンタの選択... 4 Windows フォームでのグラフィックスの印刷... 5 Windows フォームでのテキストの印刷...
ファイル操作
ファイル操作 TextFieldParser オブジェクト ストリームの読込と書込 Microsoft.VisualBasic.FileIO 名前空間の TextFieldParser オブジェクトは 構造化テキストファイルの解析に使用するメソッドとプロパティを備えたオブジェクトで有る テキストファイルを TextFieldParser で解析するのは テキストファイルを反復処理するのと同じで有り
ルーレットプログラム
ルーレットプログラム VB 2005 4 プログラムの概要 カジノの代表的なゲーム ルーレット を作成する 先ず GO! ボタンをクリックすると ルーレット盤上をボールが回転し 一定時間経過すると ボールが止まり 出目を表示するプログラムを作成する 出目を 1~16 大小 偶数奇数の内から予想して 予め設定した持ち点の範囲内で賭け点を決め 賭け点と出目に依り 1 点賭けの場合は 16 倍 其他は 2
.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~
.NET プログラマー早期育成ドリル VB 編 付録文法早見表 本資料は UUM01W:.NET プログラマー早期育成ドリル VB 編コードリーディング もしくは UUM02W:.NET プログラマー早期育成ドリル VB 編コードライティング を ご購入頂いた方にのみ提供される資料です 資料内容の転載はご遠慮下さい VB プログラミング文法早見表 < 基本文法 > 名前空間の定義 Namespace
(Microsoft Word \203v\203\215\203O\203\211\203~\203\223\203O)
21113 Visual Basic を利用したフリーソフト開発 要旨 各自でフリーソフトを作成 インターネット上に公開することを目的とし Visual Basic2008 2010 を使い簡単なアプリの作成に成功した 1. 目的情報化が進んだ現代において 社会に出ていくためにはパソコンの一つや二つ 軽く扱えなければならない さらに 資源の乏しい日本においては今後 情報技術の発展することが望ましいと考える
データアダプタ概要
データベース TableAdapter クエリを実行する方法 TableAdapter クエリは アプリケーションがデータベースに対して実行出来る SQL ステートメントやストアドプロシージャで TableAdapter で型指定されたメソッドと仕て公開される TableAdapter クエリは 所有るオブジェクトのメソッドと同様に 関連付けられたメソッドを呼び出す事に依り実行出来る TableAdapter
Expander for ASP.NET Web Forms
2018.04.12 更新 グレープシティ株式会社 目次 製品の概要 2 ComponentOne for ASP.NET Web Forms のヘルプ 2 主な特長 3 クイックスタート 4 手順 1: ページへのコントロールの追加 4-5 手順 2: コントロールへのコンテンツの追加 5-6 手順 3: コントロールの外観と動作のカスタマイズ 6-7 C1Expander の要素 8 ヘッダー要素
FileExplorer for ASP.NET Web Forms
FileExplorer for ASP.NET Web Forms 2018.04.12 更新 グレープシティ株式会社 目次 製品の概要 2 ComponentOne for ASP.NET Web Formsのヘルプ 2 ビジュアル要素 3 クイックスタート : フォルダパスの追加 4-5 エクスプローラーの機能 6 複数ファイルの選択 6-7 フォルダの作成と管理 7 ファイル操作の無効化 7
C#の基本
C# の基本 ~ 開発環境の使い方 ~ C# とは プログラミング言語のひとつであり C C++ Java 等に並ぶ代表的な言語の一つである 容易に GUI( グラフィックやボタンとの連携ができる ) プログラミングが可能である メモリ管理等の煩雑な操作が必要なく 比較的初心者向きの言語である C# の利点 C C++ に比べて メモリ管理が必要ない GUIが作りやすい Javaに比べて コードの制限が少ない
WPF アプリケーションの 多言語切替
WPF アプリケーションの 多言語切替 YK S o f t w a r e 2015 年 6 月 2 日 @twyujiro15 プロフィール 加藤裕次郎 本職は製造業の開発業務 - 2009 年 4 月に入社 1982.03.03 生まれ ( うお座 ) 左利き ( お箸は右 ) twitter : @twyujiro15 プログラミング経験 Excel VBA MATLAB MATX C VC++
目次 はじめに... 3 システムの必要条件... 4 ライセンス認証... 4 アクティベーション... 6 開発... 7 手順 1. アプリケーションの作成... 7 手順 2. データソースの作成と代入... 7 手順 3. テンプレートの作成 手順 4. レポートビューアの追加
SharpShooter Reports.Win 基本的な使い方 Last modified on: November 15, 2012 本ドキュメント内のスクリーンショットは英語表記ですが SharpShooter Reports JP( 日本語版 ) では日本語で表示されま す 目次 はじめに... 3 システムの必要条件... 4 ライセンス認証... 4 アクティベーション... 6 開発...
Android Layout SDK プログラミング マニュアル
プログラミングマニュアル Version 1.3.0 用 更新履歴 年月日 バージョン 履歴 2014.09.08 1.2.0.0 新規 (Layout Utilities ユーザーズ ガイド ) 2016.08.16 1.3.0.0 モバイル端末用レイアウトで直線部品と矩形部品に対応 モバイル端末用レイアウトファイルを CLFX から XML へ変更 Layout Print Engine から
API 連携方式 外部 DLL の呼び出し宣言 外部 DLL の呼び出し宣言のサンプルコード (Microsoft Visual C#.NET の場合 ) プログラムコードの先頭で using System.Runtime.InteropServices; が必要 クラスの内部に以下のような外部 D
GS1-128 の描画 DLL について (ver. 2.2) 動作環境など動作環境 WindowsXP Windows Vista Windows7 Windows8/8.1 Windows10 上記 OS について すべて日本語版を対象としております 32bit アプリケーションから呼び出される必要があります 使用条件 プリンタの解像度 300dpi 以上 機能 バーコードの基本幅を 1 ドット単位で指定できる
ListViewコントロール
ListView コントロール ListView コントロールへ項目を追加 本稿では.NET Framework の標準コントロールで有る ListView コントロール (System.Windows.Forms 名前空間 ) を活用する為に ListView コントロールにデータを追加する方法を紹介する ListView コントロールは データ項目をアイコン表示や詳細表示等に依り一覧表示する為の物で
構造体
構造体 Byte 配列 構造体とコピーする方法 構造体とバイト配列の変換を行うには System.Runtime.InteropServices 名前空間をインポートして置くと便利で有る Imports System.Runtime.InteropServices using System.Runtime.InteropServices; 下記の 3 種類の構造体にバイト配列の値を格納した場合に付いて検証する
ファイル操作-バイナリファイル
ファイル操作 バイナリ ファイルを読み書きする バイナリファイル ( 即ちテキストファイル以外のファイル ) を読み書きするには FileStream クラス (System.IO 名前空間 ) を利用する FileStream クラスはファイル用のストリームをサポートするクラスで有り Stream クラス (System.IO 名前空間 ) の派生クラスの 1 つで有る 基本的には コンストラクタで指定したファイルのストリームに対して
intra-mart Accel Platform — IM-Repository拡張プログラミングガイド 初版
Copyright 2018 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. はじめに 2.1. 本書の目的 2.2. 対象読者 2.3. サンプルコードについて 2.4. 本書の構成 3. 辞書項目 API 3.1. 最新バージョン 3.1.1. 最新バージョンの辞書を取得する 3.2. 辞書項目 3.2.1. 辞書項目を取得する 3.2.2.
Excel for UWP
2018.03.07 更新 グレープシティ株式会社 目次 2 主な特長 3 クイックスタート 4 手順 1: プロジェクトの設定 4 手順 2:C1XLBook へのコンテンツの追加 4-5 手順 3:XLSX ファイルの保存 5-6 手順 4: プログラムの実行 6-7 C1Excel の使い方 8 ドキュメントの作成 8 ワークシート 8-9 行と列 9 セル 9-10 スタイル 10 タスク別ヘルプ
Document Library for UWP
2018.07.20 更新 グレープシティ株式会社 目次 Document Library for UWP 2 主な特長 3 オブジェクトモデルの概要 4-5 PdfDocumentSource for UWP 6 主な特長 6 クイックスタート 6-8 機能 8-9 PDF のロード 9-10 PDF のエクスポート 10 形式固有のフィルタを使用した PDF のエクスポート 10-13 ExportProvider
ファイル監視
ファイル操作 ファイルやディレクトリの監視 FileSystemWatcher クラス.NET Framework のクラスライブラリには ファイルやディレクトリの作成 変更 削除を監視する為の FileSystemWatcher クラスが System.IO 名前空間に用意されて居る ( 但し Windows 98/Me では利用出来ない ) 此れを利用すると 特定のディレクトリにファイルが作成された
MVC4 Mobile Classic
2015.05.20 更新 グレープシティ株式会社 目次 製品の概要 2 MVC の基本 2-4 MVC Classic プロジェクトの作成 4-5 AppView 5-6 アダプティブウィジェット 6 モバイル MVC スキャフォールディングの使用 7 手順 1: モバイル MVC Classic Web アプリケーションの作成 7-8 手順 2: モデルの追加 8-9 手順 3: コントローラーの追加
PowerPoint プレゼンテーション
1 02 グラフゖックで簡単な図形を描く図形描画プログラム 1 今回作成するゕプリケーションの概要 ボタンをクリックすると図形を描くプログラム 行われる動作 [1] ボタンをクリック [2] そのボタンに対する図形を描く これを使用者とコンピュータの関係で描くと [ 使用者 コンピュータ ] ボタンをクリック [ 使用者 コンピュータ ] 図形を描画して見せる 使用者がコンピュータにすること ボタンをクリック
Visual Studio2008 C# で JAN13 バーコードイメージを作成 xbase 言語をご利用の現場でバーコードの出力が必要なことが多々あります xbase 言語製品によっては 標準でバーコード描画機能が付加されているものもあるようで す C# では バーコードフォントを利用したりバー
Visual Studio2008 C# で JAN13 バーコードイメージを作成 xbase 言語をご利用の現場でバーコードの出力が必要なことが多々あります xbase 言語製品によっては 標準でバーコード描画機能が付加されているものもあるようで す C# では バーコードフォントを利用したりバーコード OCX や バーコード対応レ ポートツールが豊富にありますので それほど困ることは無いと思われます
目次 はじめに... 3 システムの必要条件... 3 サンプルアプリケーションの作成... 3 手順 手順 手順 手順 手順 手順 終わりに... 23
SharpShooter Reports.Silverlight 基本的な使い方 Last modified on: August 16, 2012 本ドキュメント内のスクリーンショットは英語表記ですが SharpShooter Reports JP( 日本語版 ) では日本語で表示されます 目次 はじめに... 3 システムの必要条件... 3 サンプルアプリケーションの作成... 3 手順 1...
1.dll の配置場所配布時はプログラムの実行フォルダーへ配置 2. 開発環境での使用 プロジェクトのプロパティーで [USBPIO.dll] を参照追加してください 開発環境 dll ファイルの場所 VB.Net Express Edition 境プロジェクトのフォルダ \bin\release VB.Netebugビルドの場合プロジェクトのフォルダ \bin\debug VB.Net Releaseビルドの場合プロジェクトのフォルダ
GS1-128 の描画 DLL について (ver. 2.3) 動作環境など動作環境 WindowsXP Windows Vista Windows7 Windows8/8.1 Windows10 上記 OS について すべて日本語版を対象としております 32bit アプリケーションから呼び出される
GS1-128 の描画 DLL について (ver. 2.3) 動作環境など動作環境 WindowsXP Windows Vista Windows7 Windows8/8.1 Windows10 上記 OS について すべて日本語版を対象としております 32bit アプリケーションから呼び出される必要があります 使用条件 プリンタの解像度 300dpi 以上 機能 バーコードの基本幅を 1 ドット単位で指定できる
Userコントロール
User コントロール 初めてのユーザーコントロールの作成 作成したクラスは他のプログラムで再利用出来る為 同じコードを何度も繰り返し作成する必要が無い コントロールも 複数のプロジェクトで再利用出来るクラスで有る 同じユーザーインターフェイスを何度も繰り返してデザインすると謂う経験は 恐らく誰でも有る 例えば 姓と名を入力する為の TextBox コントロールを追加した後で 両方を組み合わせてフルネームを作成するコードを追加する等の作業で有る
ComboBox for ASP.NET Web Forms
2018.04.24 更新 グレープシティ株式会社 目次 製品の概要 2 ComponentOne for ASP.NET Web Forms のヘルプ 2 主な特長 3 クイックスタート 4 手順 1: アプリケーションの作成 4 手順 2: コントロールへの項目の追加 4 手順 3: 選択した項目のイベントハンドラの作成 4-5 手順 4: プロジェクトの実行 5 デザイン時のサポート 6 C1ComboBox
PowerPoint プレゼンテーション
配列とコレクション 配列の使い方 固定配列 動的配列 コレクションの使い方 今日の目的 固定配列の宣言例 プロシージャレベル Dim arybuf(0 To 5) As Long モジュールレベル Private arybuf(0 To 5) As Long Public arybuf(0 To 5) As Long 固定配列の宣言例 プロシージャレベル Dim arybuf(0 To 5) As
mySQLの利用
MySQL の利用 インストール インストール時に特に注意点は無い 本稿記述時のバージョンは 6.5.4 で有る (2017 年 11 月現在では 6.10.4 で https://dev.mysql.com/downloads/connector/net/6.10.html よりダウンロード出来る ) 参照設定 インストールが終了すれば Visual Studio で参照の設定を行う 参照の設定画面で
C#の基本2 ~プログラムの制御構造~
C# の基本 2 ~ プログラムの制御構造 ~ 今回学ぶ事 プログラムの制御構造としての単岐選択処理 (If 文 ) 前判定繰り返し処理(for 文 ) について説明を行う また 整数型 (int 型 ) 等の組み込み型や配列型についても解説を行う 今回作るプログラム 入れた文字の平均 分散 標準偏差を表示するプログラム このプログラムでは calc ボタンを押すと計算を行う (value は整数に限る
Visual Basic 資料 電脳梁山泊烏賊塾 コレクション初期化子 コレクション初期化子 初めに.NET 版の Visual Basic では 其れ迄の Visual Basic 6.0 とは異なり 下記の例の様に変数宣言の構文に 初期値を代入する式が書ける様に成った 其の際 1 の様に単一の値
コレクション初期化子 コレクション初期化子 初めに.NET 版の Visual Basic では 其れ迄の Visual Basic 6.0 とは異なり 下記の例の様に変数宣言の構文に 初期値を代入する式が書ける様に成った 其の際 1 の様に単一の値 ( 此処では 10) を代入する丈でなく 2 の配列変数の宣言の様に ブレース { } の中にカンマ区切りで初期値のリストを記述し 配列の各要素に初期値を代入出来る様に成った
Abstract Kinect for Windows RGB Kinect for Windows v Kinect for Windows v2
Kinect 2014 9 19 IS Report No. 2014092901 Report Medical Information System Laboratory Abstract Kinect for Windows 2012 2 RGB Kinect for Windows v2 2014 7 Kinect for Windows v2 1............................
ブロック崩し風テニス
ぱっくんフィッシング VB 2005 13 プログラムの概要 パーティゲームとして良く知られた釣りゲームです マウスで釣り糸を操作して 開閉する魚の口に餌を垂らし 魚が餌を咥えると 釣り上げ 籠の中に入れます 直ぐに口を開けて 海に逃れる魚 中々餌を離さず 籠に入らない魚と 色々なバリエーションが楽しめます 一般的に 実用プログラムに比較するとゲームプログラムは 高度なテクニックを要求される事が多い
第1章 ビジュアルプログラミング入門
付録 A 既存のクラスの利用の仕方 第 7 章では フレームクラス (NewJFrame.java) とそこから呼び出されるクラス (Meibo.java など ) を同じプロジェクト内 つまり同じパッケージ内に定義しました しかし 一般には 別のパッケージ ( フォルダ ) に保管されているクラスを利用する場合があります ここでは その方法を説明します なお フォルダは Java の用語ではパッケージに対応するので
第32回_プレゼン資料_菅原(Unityはじめるよ~上半身だけ動かす2~)
Unity はじめるよ 上半 だけ動かす 2 統合開発環境を内蔵したゲームエンジン http://japan.unity3d.com/ いろんな職業の が る資料なので説明を簡単にしてある部分があります 正確には本来の意味と違いますが上記理由のためです ご了承ください この資料内の 部の画像 部の 章は Unity 公式サイトから引 しています 上半 だけ動かす 複雑なステートマシンを体の各部分ごとに管理することができます
外周部だけ矩形配列
AUTODESK INVENTOR 概要 : API を使ったプログラムで Inventor のコマンドやマクロプログラムをメニューに登録する方法を紹介します レベル : 本資料は VBA を使った Inventor のカスタマイズについての知識がある方を対象としています サンプル VBA プロジェクト : サンプル VBA プロジェクトデータ (CREATE_UI.zip) をダウンロードし 適当なフォルダに解凍します
平成 29 年度卒業研究 初心者のためのゲームプログラミング用 教材の開発 函館工業高等専門学校生産システム工学科情報コース 5 年 25 番細見政央指導教員東海林智也
平成 29 年度卒業研究 初心者のためのゲームプログラミング用 教材の開発 函館工業高等専門学校生産システム工学科情報コース 5 年 25 番細見政央指導教員東海林智也 目次 第 1 章英文アブストラクト第 2 章研究目的第 3 章研究背景第 4 章開発環境第 5 章開発した 2D ゲーム制作ライブラリの概要第 6 章ライブラリの使用方法第 7 章まとめと今後の課題参考文献 1 第 1 章英文アブストラクト
スライド 1
WindowsForm サンプル解説 S2Container.NET, S2Dao.NET コミッタ 藤井宏明 1 S2Container.NET の Examples フォルダに付属する WindowsSample の解説です 概要 アプリケーション アーキテクチャー ソリューション構成 プロジェクト概要 サンプル説明 2 Ⅰ. アプリケーション アーキテクチャー 3 アプリケーション アーキテクチャー
Tabs for ASP.NET Web Forms
2018.04.10 更新 グレープシティ株式会社 目次 製品の概要 2 ComponentOne for ASP.NET Web Forms のヘルプ 2 主な特長 3 クイックスタート 4 手順 1: ページへの C1Tabs の追加 4 手順 2:C1Tabs デザイナフォームでの作業 4 手順 3: コントロールへのコンテンツの追加 4-5 デザイン時のサポート 6 C1Tabs スマートタグ
Slider for ASP.NET Web Forms
: Slider for ASP.NET Web Forms 2018.04.11 更新 グレープシティ株式会社 目次 製品の概要 2 ComponentOne for ASP.NET Web Forms のヘルプ 2 主な特長 3 クイックスタート 4 手順 1: ページへの C1Slider の追加 4 手順 2: コントロールのカスタマイズ 4-5 手順 3: アプリケーションの実行 5 デザイン時のサポート
BinaryImage for ASP.NET Web Forms
BinaryImage for ASP.NET Web Forms 2018.04.12 更新 グレープシティ株式会社 目次 製品の概要 2 ComponentOne for ASP.NET Web Forms のヘルプ 2 クイックスタート : 画像のロードと設定 3-5 主な機能 6 外部画像の追加 6-7 Http ハンドラ 7 画像の設定 7 サイズ変更モード 7-9 画像の配置 9-10
プリンタ印字用 DLL 取扱説明書
プリンタ印字用 DLL 取扱説明書 目次 1 はじめに... 1 2 制御プログラム... 2 2.1 制御プログラムの作成方法... 2 3 easyprn.dll の使い方... 11 3.1 easyprn.dll で使用できるコマンド... 11 3.2 バーコード印字方法... 13 3.3 ロゴの印字... 15 1 はじめに プリンタ印字用 DLL ファイル easyprn.dll
正規表現応用
正規表現 正規表現を使って文字列が或る形式と一致するか調べる 指定された正規表現のパターンと一致する対象が入力文字列内で見付かるか何うかを調べるには Regex クラスの IsMatch メソッドを使用する 此処では IsMatch メソッドを使った例を幾つか紹介する 猶 正規表現のパターンと一致する個所を探し 見付かれば 其の箇所を抽出する方法は 正規表現を使って文字列を検索し 抽出する で紹介して居る
Imaging for UWP
2018.04.10 更新 グレープシティ株式会社 目次 Imaging for UWP 2 Bitmap for UWP 2 主な特長 2 クイックスタート 2 手順 1:Windows ストアアプリケーションの作成 2 手順 2: 画像の追加 2-3 手順 3: 画像のトリミングに使用するコードの追加 3-5 手順 4: アプリケーションの実行 5-6 C1Bitmap の使い方 6 トリミングボックスのドラッグによるトリミング
CashDrawer ライブラリ API 仕様書 2014/07/09 CashDrawer ライブラリ API 仕様書 Rev / 10
2014/07/09 CashDrawer ライブラリ API 仕様書 Rev. 00.0.04 1 / 10 目次 1. ファイル構成... 3 2. 環境 3 2.1. 動作環境 OS... 3 2.2. コンパイル時の注意点... 3 2.3. USB ドライバ... 3 3. 関数一覧... 4 3.1. USB 接続確認処理 (CD_checkConnect CD_checkConnect)
Java講座
~ 第 1 回 ~ 情報科学部コンピュータ科学科 2 年竹中優 プログラムを書く上で Hello world 基礎事項 演算子 構文 2 コメントアウト (//, /* */, /** */) をしよう! インデントをしよう! 変数などにはわかりやすい名前をつけよう! 要するに 他人が見て理解しやすいコードを書こうということです 3 1. Eclipse を起動 2. ファイル 新規 javaプロジェクト
DEMO1 まずはやってみよう アクティビティをダブルクリック 作成 - プロジェクト C# => Workflow CodeActivity をぽとぺ シーケンシャルと ステートマシン それぞれのコ ンソールアプリ あとライブラリがある びっくりマークは足りていないあかし プロパティをみると判別で
DEMO1 まずはやってみよう アクティビティをダブルクリック 作成 - プロジェクト C# => Workflow CodeActivity をぽとぺ シーケンシャルと ステートマシン それぞれのコ ンソールアプリ あとライブラリがある びっくりマークは足りていないあかし プロパティをみると判別できます こんなコードを追加 string str = Console.ReadLine(); int
OTRS10 他社システムOTRS呼出利用手順書
他社システム OTRS 呼び出し 利用手順書 はじめに 他システム OTRS 呼び出し機能 とは Microsoft Office ( Excel PowerPoint Word ) で作成したファイルに Microsoft Office のコマンドボタン作成機能を利用して OTRS の起動情報をコマンドボタンに設定することで OTRS の分析データを OTRS のメニューを開いてから選択せずに 表示することを可能にする
Public Grid As ReverseGrid Public Position As Point ' 論理位置 Public Rectangle As Rectangle ' 物理位置 Status; 黒 白 なしの状態 Grid; オセロの盤面 Position; 盤面内の説明 Rectan
31204 プログラミング 3605 井上寛晶 3531 松井佑樹 3635 宮地翼 要旨各自でフリーソフトを作成 インターネット上に公開することを目的とし Visual Basic2008 2010 を使い 二年生までは ちんちろりん という簡単なゲームを作ったが 今回はより難度が高い オセロ の作成に成功した 本文 1. 目的情報化が進んだ現代において 社会に出ていくためにはパソコンの一つや二つ
3D回転体プログラム
3D 回転体プログラム VB 2005 4 プログラムの概要 入力画面で マウスを用いて 側面より見た平面図を描きます マウスの左ボタンをクリックする事で連続線を描き 右ボタンをクリックすると新しい線を描く事が出来る 側面図が完成すると 回転の基本角度を設定して 確定ボタンをクリックすると 平面図を立体図に座標変換する 各軸の回転角度を設定して 表示ボタンをクリックすると 立体図が表示される 各軸の回転角度を変更して
BarCode for WPF
2018.04.10 更新 グレープシティ株式会社 目次 BarCode for WPF 2 はじめに 2 ComponentOne for WPF のヘルプ 2 主な特長 2 クイックスタート 2 手順 1: アプリケーションの設定 2-3 手順 2: コードの追加 3-5 手順 3: アプリケーションの実行 5-7 BarCode for WPF の使い方 7 サポートされるエンコーディング 7-9
