Bitmap for UWP
|
|
|
- あきひろ おなか
- 7 years ago
- Views:
Transcription
1 更新 グレープシティ株式会社
2 目次 Bitmap for UWP 2 主な特長 3 オブジェクトモデルの概要 4 クイックスタート 5-6 機能 7 画像の読み込みおよび保存 7-9 変換の適用 9 画像のクリッピング 9-10 画像の反転 画像の回転 画像の拡大 / 縮小 Bitmap の操作 15 Direct2D エフェクトの適用 Copyright GrapeCity, Inc. All rights reserved.
3 Bitmap for UWP Bitmap for UWP ComponentOne には 画像を読み込み 保存 変換するためのクラスライブラリである Bitmap for UWP が導入されていま す Bitmap を使用すると イメージファイル上でクリップ 反転 拡大/縮小 回転 またはこれらの変換の任意の組み合わせ を適用することができます さらに Bitmap ではさまざまな画像処理ニーズに対応するために BMP PNG JPG などのさまざ まなコンテナ形式をサポートしており 画像のピクセル形式を変更することができます 2 Copyright GrapeCity, Inc. All rights reserved.
4 主な特長 Bitmap は画像処理のためにサポートされる機能のいくつかを提供します シンプルな画像の表示と保存だけでなく 以下に示すさまざまな目的のために Bitmap を使用することができます 画像の読み込み Bitmap は BMP PNG JPEG JPEG-XR ICO などのさまざまなコンテナ形式の画像を読み込みます ビットマップは単一フレームの TIFF と GIF もサポートしています 画像は ファイルやストリームから読み込んだり 他のビットマップオブジェクトを参照したり 配列から取得することができます さらに Bitmap では C1Bitmap の同一インスタンス内に複数の画像をを1つずつ読み込むことができます 画像の保存読み込み時と同様に C1Bitmap に読み込まれた画像は StorageFile IOutputStream または System.IO.Stream に保存することができます C1Bitmap は BMP PNG JPEG JPEG-XR TIFF GIF( 単一フレーム ) など サポートされているコンテナ形式ごとに特定の SaveAs メソッドを提供します 画像の変換 Bitmap を使用して 画像にさまざまな変換を適用できます 例えば Transform メソッドを適用して画像を簡単にクリップ クロップ 回転 拡大 / 縮小することができます Direct2D エフェクトの適用 Bitmap では 画像に対して Direct2D エフェクトを適用し さまざまなアニメーションやイメージングエフェクトを作成できます プラットフォーム固有のビットマップオブジェクトとの相互変換 Bitmap の重要な機能の1つとして プラットフォーム固有のビットマップオブジェクトとの相互変換をサポートします 例えば Windows Store アプリケーションにおいて C1Bitmap を WriteableBitmap または SoftwareBitmap に簡単に変換できます また 例えば既存の C1Bitmap のフラグメントとして WriteableBitmap をインポートしたり SoftwareBitmap のインスタンスから新規に C1Bitmap を作成することができます 3 Copyright GrapeCity, Inc. All rights reserved.
5 オブジェクトモデルの概要 Bitmap には さまざまなクラス オブジェクト コレクション および関連する画像処理用のメソッドおよびプロパティを提供する リッチなオブジェクトモデルが付属しています 以下の表は これらのオブジェクトの一部とその主要なプロパティを示します C1Bitmap プロパティ :ContainerFormat HasImage HasMetadata ImagingFactory IsDisposed NativeBitmap PixelFormat PixelHeight PixelWidth メソッド : Dispose Import Load LoadAsync LoadMetadata Save SaveAsBmp SaveAsGif SaveAsJpeg SaveAsPng SaveAsTiff SaveAsync ToSoftwareBitmap ToWritableBitmap Transform Clipper プロパティ :ImageRect FlipRotator プロパティ :TransformOptions FormatConverter プロパティ :DestinationFormat Palette PaletteTranslate Scaler プロパティ :DestinationHeight DestinationWidth InterpolationMode 4 Copyright GrapeCity, Inc. All rights reserved.
6 クイックスタート このクイックスタートでは Bitmap を使用して画像を読み込む方法を説明します Visual Studio で UWP アプリケーションを作成し C1.UWP.Bitmap (dll) への参照 イメージコントロール およびストリームから C1Bitmap に画像を読み込むためのボタンを追加することから始めます C1Bitmap オブジェクトに画像を読み込むシンプルな UWP アプリケーションを作成するには 次の手順を実行してください 1. アプリケーションの設定 2. C1Bitmap 内に画像を読み込む 以下の画像は ストリームから C1Bitmap 内に読み込まれた画像を表示する例を示しています アプリケーションの設定 アプリケーションを設定するには 以下の手順に従ってください 1. Visual Studio で新規プロジェクトを作成し 空白のアプリ ( ユニバーサルWindows) を選択します 2. アプリケーションに以下の参照を追加します C1.UWP.Bitmap C1.UWP.DX 3. ソリューションエクスプローラ 内で プロジェクト名を右クリックして [ 追加 ] [ 新しいフォルダ ] を選択し 追加されたフォルダに新しい名前を付けます この例では 新規フォルダに Resources という名前を付けています 4. サンプル画像を Resources フォルダに追加し プロパティ ウィンドウにてその ビルドアクション プロパティを 埋め込みリソース に設定します 5. サンプル画像を読み込むための標準の Button コントロールと サンプル画像を表示するための img と名前付けされた Image コントロールを追加します 6. ボタンの Content プロパティに 画像の読み込み というテキストを設定します 先頭に戻る C1Bitmap 内に画像を読み込む C1Bitmap 内に画像を読み込むには 以下の手順に従ってください 1. コードビューに切り替えて コード内に以下の import ステートメントを追加します Imports C1.Xaml.Bitmap 5 Copyright GrapeCity, Inc. All rights reserved.
7 Imports System.Reflection Imports Windows.Graphics.Imaging using C1.Xaml.Bitmap; using System.Reflection; using System.Threading.Tasks; using Windows.Graphics.Imaging; using Windows.UI.Xaml.Media.Imaging; 2. 以下のクラスオブジェクトを作成します Dim btmp As C1Bitmap Dim sb As SoftwareBitmap Dim sbs As SoftwareBitmapSource C1Bitmap btmp; SoftwareBitmap sb; SoftwareBitmapSource sbs; 3. ビットマップと SoftwareBitmapSource を初期化するために クラスのコンストラクタに以下のコードを追加します btmp = New C1Bitmap() sbs = New SoftwareBitmapSource() btmp = new C1Bitmap(); sbs = new SoftwareBitmapSource(); 4. 以下のコードを btnload_click イベント内に追加します これは ストリームを使用して C1Bitmap 内に画像を読み込みます Dim asm As Assembly = GetType(MainPage).GetTypeInfo().Assembly Using stream As Stream = asm.getmanifestresourcestream("bitmapuwp_vb.grapecity.jpg") btmp.load(stream, New FormatConverter(PixelFormat.Format32bppPBGRA)) End Using Await UpdateImageSource() Assembly asm = typeof(mainpage).gettypeinfo().assembly; using (Stream stream = asm.getmanifestresourcestream("bitmapuwp.resources.grapecity.jpg")) btmp.load(stream, new FormatConverter(PixelFormat.Format32bppPBGRA)); await UpdateImageSource(); メモ : イベント上で非同期メソッドを呼び出すため async キーワードと await オペレータを使用しています 5. UpdateImageSource という名前のメソッドを作成します これは SoftwareBitmap を作成し それをソースの SoftwareBitmap としてイメージソースに割り当てます Private Async Function UpdateImageSource() As Task sb = btmp.tosoftwarebitmap() Await sbs.setbitmapasync(sb) img.source = sbs End Function private async Task UpdateImageSource() sb = btmp.tosoftwarebitmap(); await sbs.setbitmapasync(sb); img.source = sbs; 先頭に戻る 6 Copyright GrapeCity, Inc. All rights reserved.
8 機能 このセクションには Bitmap コントロールで使用できるすべての機能が含まれています 画像の読み込みおよび保存読み込みおよび保存をコード内に実装する方法を学びます 変換の適用さまざまな変換をコード内に適用する方法を学びます 画像の読み込みおよび保存 Bitmap では C1Bitmap クラスの Load メソッドを使用して C1Bitmap オブジェクト内に画像を読み込むことができます Load および LoadAsync のオーバーロードメソッドを使用すると 画像を StorageFile IInputStream または System.IO.Stream から読み込むことができます Bitmap では 画像のサイズ 解像度 (DPI) またはピクセル形式を決定するために使用できる画像メタデータを読み込むこともできます さらに いくつかの画像を C1Bitmap の同じインスタンスに 1 つずつ読み込みまたはインポートすることができます 読み込みと同様に C1Bitmap の画像は StorageFile IOutputStream あるいは System.IO.Stream に保存することができます ビットマップは コンテナ形式を引数として受け入れる C1Bitmap クラスの一般的な Save メソッドを提供します また サポートされている各コンテナ形式に対して個別の SaveAs メソッドを提供します ここでは ファイルから任意の画像を読み込む方法について説明します ストリームから画像を読み込む方法については クイックスタート を参照してください 以下の手順は ファイルから任意の画像を読み込む方法を示しています このコードは LoadAsync メソッドを使用して StorageFile から画像を読み込みます 1. 以下のクラスオブジェクトを作成して初期化します Dim btmp As New C1Bitmap() Dim sb As SoftwareBitmap Dim sbs As SoftwareBitmapSource C1Bitmap btmp = new C1Bitmap(); SoftwareBitmap sb; SoftwareBitmapSource sbs; 2. StorageFile から画像を読み込むために 以下のコードを追加します Dim picker = New FileOpenPicker() picker.filetypefilter.add(".ico") picker.filetypefilter.add(".bmp") picker.filetypefilter.add(".gif") picker.filetypefilter.add(".png") picker.filetypefilter.add(".jpg") picker.filetypefilter.add(".jpeg") picker.filetypefilter.add(".jxr") picker.filetypefilter.add(".tif") picker.filetypefilter.add(".tiff") Dim file As StorageFile = Await picker.picksinglefileasync() If file IsNot Nothing Then Await btmp.loadasync(file, New FormatConverter(PixelFormat.Format32bppPBGRA)) Await UpdateImageSource() End If var picker = new FileOpenPicker(); picker.filetypefilter.add(".ico"); picker.filetypefilter.add(".bmp"); 7 Copyright GrapeCity, Inc. All rights reserved.
9 picker.filetypefilter.add(".gif"); picker.filetypefilter.add(".png"); picker.filetypefilter.add(".jpg"); picker.filetypefilter.add(".jpeg"); picker.filetypefilter.add(".jxr"); picker.filetypefilter.add(".tif"); picker.filetypefilter.add(".tiff"); StorageFile file = await picker.picksinglefileasync(); if (file!= null) await btmp.loadasync(file, new FormatConverter(PixelFormat.Format32bppPBGRA)); await UpdateImageSource(); メモ : イベント上で非同期メソッドを呼び出すため async キーワードと await オペレータを使用しています 3. UpdateImageSource という名前のメソッドを作成します これは SoftwareBitmap を作成し それをソースの SoftwareBitmap としてイメージソースに割り当てます Private Async Function UpdateImageSource() As Task sb = btmp.tosoftwarebitmap() sbs = New SoftwareBitmapSource() Await sbs.setbitmapasync(sb) img.source = sbs End Function async Task UpdateImageSource() sb = btmp.tosoftwarebitmap(); sbs = new SoftwareBitmapSource(); await sbs.setbitmapasync(sb); img.source = sbs; 4. 次のコードを使用して 読み込まれた任意の画像を保存します ここでは SaveAsPngAsync メソッドを使用して 画像を PNG 形式の StorageFile に保存します Dim picker = New FileSavePicker() picker.filetypechoices.add("png", New List(Of String)() From ".png" ) picker.defaultfileextension = ".png" Dim file As StorageFile = Await picker.picksavefileasync() If file IsNot Nothing Then Await btmp.saveaspngasync(file, Nothing) Dim md As New MessageDialog(" ファイルが保存されました ") Await md.showasync() End If btmp.dispose() var picker = new FileSavePicker(); picker.filetypechoices.add("png", new List<string> ".png" ); picker.defaultfileextension = ".png"; StorageFile file = await picker.picksavefileasync(); if (file!= null) await btmp.saveaspngasync(file, null); MessageDialog md = new MessageDialog(" ファイルが保存されました "); await md.showasync(); 8 Copyright GrapeCity, Inc. All rights reserved.
10 btmp.dispose(); 変換の適用 Bitmap は クリッピング 反転 拡大 / 縮小 回転など 画像に対してさまざまな変形を適用できます これらの変換とその実装方法について学びます 画像のクリッピングコード内にクリッピング処理を実装する方法を学びます 画像の反転コード内に反転処理を実装する方法を学びます 画像の回転コード内に回転処理を実装する方法を学びます 画像の拡大 / 縮小コード内に拡大 / 縮小処理を実装する方法を学びます 画像のクリッピング クリッピングとは 画像の一部を切り抜くことです ビットマップでは Clipper クラスで画像を切り取ることができます 画像全体ではなく ソース画像をクリップして小さなフラグメントを読み込むため Clipper クラスを使用してクリッパー変換を渡すことができます 以下のアニメーションは画像のクリッピングを示しています 以下のコードは ボタンのクリックイベントによる画像の切り抜きを実装しています この例では クイックスタート で作成したサンプルを使用します Private Async Function UpdateImageSource() As Task sb = btmp.tosoftwarebitmap() sbs = New SoftwareBitmapSource() 9 Copyright GrapeCity, Inc. All rights reserved.
11 Await sbs.setbitmapasync(sb) img.source = sbs img.width = btmp.pixelwidth img.height = btmp.pixelheight End Function Private Async Function ApplyTransform(t As BaseTransform) As Task Dim bm = btmp.transform(t) btmp.dispose() btmp = bm Await UpdateImageSource() End Function Private Async Sub btncrop_click(sender As Object, e As RoutedEventArgs) Dim croprect As New ImageRect(150, 100, 300, 250) Await ApplyTransform(New Clipper() With.ImageRect = croprect) End Sub private async Task UpdateImageSource() sb = btmp.tosoftwarebitmap(); sbs = new SoftwareBitmapSource(); await sbs.setbitmapasync(sb); img.source = sbs; img.width = btmp.pixelwidth; img.height = btmp.pixelheight; private async Task ApplyTransform(BaseTransform t) var bm = btmp.transform(t); btmp.dispose(); btmp = bm; await UpdateImageSource(); private async void btnclip_click(object sender, RoutedEventArgs e) Rect select; var croprect = ((RectD)select).Round(); await ApplyTransform(new Clipper ImageRect = new ImageRect(150, 100, 300, 250) ); 画像の反転 画像の反転とは 垂直あるいは水平方向に元画像の鏡像を作成することです Bitmap では FlipRotator クラスの TransformOptions プロパティを使用して 画像を水平方向あるいは垂直方向に反転させることができます TransformOptions プロパティは TransformOptions 列挙値にて変換オプションを設定します 以下の画像は 水平方向に反転した画像を示しています 10 Copyright GrapeCity, Inc. All rights reserved.
12 以下のコードは ボタンのクリックイベントでイメージを水平方向に反転させる方法を実装しています この例では クイックスタート セクションで作成したサンプルを使用します Private Async Function UpdateImageSource() As Task Dim sb As SoftwareBitmap = btmp.tosoftwarebitmap() Await sbs.setbitmapasync(sb) img.source = sbs End Function Private Async Function ApplyTransform(t As BaseTransform) As Task Dim bm = btmp.transform(t) btmp.dispose() btmp = bm Await UpdateImageSource() End Function Private Async Sub btnflip_click(sender As Object, e As RoutedEventArgs) Await ApplyTransform(New FlipRotator(TransformOptions.FlipHorizontal)) End Sub private async Task ApplyTransform(BaseTransform t) var bm = btmp.transform(t); btmp.dispose(); btmp = bm; await UpdateImageSource(); private async void btnflip_click(object sender, RoutedEventArgs e) await ApplyTransform(new FlipRotator(TransformOptions.FlipHorizontal)); 同様に TransformOptions 列挙型の FlipVertical 値を使用して画像を垂直方向に反転できます 11 Copyright GrapeCity, Inc. All rights reserved.
13 画像の回転 Bitmap は 画像を時計回りに 90 度 180 度 270 度の異なる角度に回転させる柔軟性を提供します C1Bitmap によって提供される FlipRotator クラスの TransformOptions プロパティを使用して画像を回転することができます TransformOptions プロパティは 変換オプションを設定するために TransformOptions 列挙値を受け入れます 以下の画像は 時計回りに 180 度回転した画像を示しています 以下のコードは ボタンのクリックイベントにて画像を時計回りに 180 度回転する処理を実装します この例では クイックスタート セクションで作成したサンプルを使用します Private Async Function UpdateImageSource() As Task Dim sb As SoftwareBitmap = btmp.tosoftwarebitmap() Await sbs.setbitmapasync(sb) img.source = sbs End Function Private Async Function ApplyTransform(t As BaseTransform) As Task Dim bm = btmp.transform(t) btmp.dispose() btmp = bm Await UpdateImageSource() End Function Private Async Sub btnrotate_click(sender As Object, e As RoutedEventArgs) Await ApplyTransform(New FlipRotator(TransformOptions.Rotate180)) End Sub private async Task ApplyTransform(BaseTransform t) var bm = btmp.transform(t); 12 Copyright GrapeCity, Inc. All rights reserved.
14 btmp.dispose(); btmp = bm; await UpdateImageSource(); private async void btnrotate_click(object sender, RoutedEventArgs e) await ApplyTransform(new FlipRotator(TransformOptions.Rotate180)); 画像の拡大 / 縮小 スケーリングとは 画像のピクセル数を変更することによって 画像のサイズ変更 ( サイズの拡大 / 縮小 ) を行います Bitmap には 画像を拡大 / 縮小するためのスケーラクラスが用意されています Scaler クラスでは 画像を拡大 / 縮小するために次の3つのプロパティが必要です DestinationWidth: 目的の幅です DestinationHeight: 目的の高さです InterpolationMode: スケーリング時に使用する補完モードです 以下のアニメーションは画像の拡大 / 縮小を示しています 以下のコードは ボタンのクリックイベントによる画像の拡大および縮小を実装しています この例では クイックスタート で作成したサンプルを使用します Private Async Function UpdateImageSource() As Task Dim sb As SoftwareBitmap = btmp.tosoftwarebitmap() sbs = New SoftwareBitmapSource() Await sbs.setbitmapasync(sb) img.source = sbs 13 Copyright GrapeCity, Inc. All rights reserved.
15 img.width = btmp.pixelwidth img.height = btmp.pixelheight End Function Private Async Function ApplyTransform(t As BaseTransform) As Task Dim bm = btmp.transform(t) btmp.dispose() btmp = bm Await UpdateImageSource() End Function Private Async Sub btnscale_click(sender As Object, e As RoutedEventArgs) Dim px As Integer = btmp.pixelwidth * 1.6F + 0.5F Dim py As Integer = btmp.pixelheight * 1.6F + 0.5F Await ApplyTransform(New Scaler(px, py, InterpolationMode.HighQualityCubic)) End Sub Private Async Sub btnscaleout_click(sender As Object, e As RoutedEventArgs) Dim px As Integer = btmp.pixelwidth * 0.625F + 0.5F Dim py As Integer = btmp.pixelheight * 0.625F + 0.5F If px > 0 AndAlso py > 0 Then Await ApplyTransform(New Scaler(px, py, InterpolationMode.HighQualityCubic)) End If End Sub private async Task UpdateImageSource() SoftwareBitmap sb = btmp.tosoftwarebitmap(); sbs = new SoftwareBitmapSource(); await sbs.setbitmapasync(sb); img.source = sbs; img.width = btmp.pixelwidth; img.height = btmp.pixelheight; private async Task ApplyTransform(BaseTransform t) var bm = btmp.transform(t); btmp.dispose(); btmp = bm; await UpdateImageSource(); private async void btnscale_click(object sender, RoutedEventArgs e) int px = (int)(btmp.pixelwidth * 1.6f + 0.5f); int py = (int)(btmp.pixelheight * 1.6f + 0.5f); await ApplyTransform(new Scaler(px, py, InterpolationMode.HighQualityCubic)); private async void btnscaleout_click(object sender, RoutedEventArgs e) int px = (int)(btmp.pixelwidth * 0.625f + 0.5f); int py = (int)(btmp.pixelheight * 0.625f + 0.5f); if (px > 0 && py > 0) await ApplyTransform(new Scaler(px, py, InterpolationMode.HighQualityCubic)); 14 Copyright GrapeCity, Inc. All rights reserved.
16 Bitmap の操作 Bitmap の操作 セクションは ユーザーの皆様が Bitmap コントロールの基礎と機能および一般的な使用方法を理解していることを前提としています 次のセクションでは Bitmap で提供されている補助機能について説明します Direct2D エフェクトの適用 Direct2D エフェクトをコードで適用する方法を説明します Direct2D エフェクトの適用 Direct2D は Microsoft によって設計された 2D グラフィック API で 画像を操作するための広範な組み込みおよびカスタムのエフェクトが提供されています この API を使用すると ビットマップ 2D ジオメトリ テキストの高品質で高速なレンダリングが可能です Bitmap では Direct2D のエフェクトを使用したり 画像にエフェクトを適用することができます Bitmap を使用して適用できる画像エフェクトを次に一覧します ブラー ( ガウス ) シャープネス水平スミアシャドウディスプレイスメントマップエンボスエッジ検出セピア これらのエフェクトから 1 つを選んで画像に適用してみましょう 次の図は Bitmap で Direct2D を使用する例として 組み込み 2D エフェクトの 1 つ シャドウを示しています 15 Copyright GrapeCity, Inc. All rights reserved.
17 コードで Bitmap が Direct2D ビットマップに変換されます 次に Direct2D を使用して画像を操作し Direct3D API との相互運用によって組み込みエフェクト シャドウが適用されます すべての操作が完了したら 画像が 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 DXGI = C1.Util.DX.DXGI Imports DW = C1.Util.DX.DirectWrite Imports C1.Util.DX using D2D = C1.Util.DX.Direct2D; using D3D = C1.Util.DX.Direct3D11; using DXGI = C1.Util.DX.DXGI; using DW = C1.Util.DX.DirectWrite; using C1.Util.DX; 2. 次のクラスオブジェクトを作成します Private imgsource As SurfaceImageSource Private sisnative As DXGI.ISurfaceImageSourceNative Private btmp As C1Bitmap ' 装置独立リソース Private d2df As D2D.Factory2 Private dwf As DW.Factory ' 装置リソース Private dxgid As DXGI.Device Private d2dc As D2D.DeviceContext1 ' Direct2D の組み込み効果 Private shadow As D2D.Effects.Shadow Private affinet As D2D.Effects.AffineTransform2D Private compst As D2D.Effects.Composite SurfaceImageSource imgsource; DXGI.ISurfaceImageSourceNative sisnative; C1Bitmap btmp; // 装置独立リソース D2D.Factory2 d2df; DW.Factory dwf; // 装置リソース DXGI.Device dxgid; D2D.DeviceContext1 d2dc; // Direct2D の組み込み効果 D2D.Effects.Shadow shadow; D2D.Effects.AffineTransform2D affinet; D2D.Effects.Composite compst; 3. 次の整数定数と列挙を宣言します Const marginlt As Integer = 20 Const marginrb As Integer = Copyright GrapeCity, Inc. All rights reserved.
18 Private Enum ImageEffect Original Shadow End Enum const int marginlt = 20; const int marginrb = 36; enum ImageEffect Original, Shadow 4. ストリームを使用して画像を C1Bitmap にロードします 詳細については クイックスタート を参照してください 5. 次のコードを追加して リソースと画像ソースを作成し 画像ソースを画像と関連付けます ' Direct2D および DirectWrite ファクトリを作成します d2df = D2D.Factory2.Create(D2D.FactoryType.SingleThreaded) dwf = DW.Factory.Create(DW.FactoryType.[Shared]) ' GPU リソースを作成します CreateDeviceResources() ' イメージソースを作成します imgsource = New SurfaceImageSource(marginLT + btmp.pixelwidth + marginrb, marginlt + btmp.pixelheight + marginrb, False) ' イメージソースのネイティブインタフェースを取得します sisnative = ComObject.QueryInterface _ (Of DXGI.ISurfaceImageSourceNative)(imgSource) sisnative.setdevice(dxgid) ' SurfaceImageSource に画像を描画します UpdateImageSource(ImageEffect.Original) ' イメージソースをイメージに関連付けます img.source = imgsource // Direct2D および DirectWrite ファクトリを作成します d2df = D2D.Factory2.Create(D2D.FactoryType.SingleThreaded); dwf = DW.Factory.Create(DW.FactoryType.Shared); // GPU リソースを作成します CreateDeviceResources(); Unloaded += MainPage_Unloaded; // イメージソースを作成します imgsource = new SurfaceImageSource(marginLT + btmp.pixelwidth + marginrb, marginlt + btmp.pixelheight + marginrb, false); // イメージソースのネイティブインタフェースを取得します sisnative = ComObject.QueryInterface<DXGI.ISurfaceImageSourceNative>(imgSource); sisnative.setdevice(dxgid); // SurfaceImageSource に画像を描画します UpdateImageSource(ImageEffect.Original); // イメージソースをイメージに関連付けます img.source = imgsource; 6. 次のコードを追加して 2D シャドウエフェクトを適用します 17 Copyright GrapeCity, Inc. All rights reserved.
19 Private Sub btnshadow_click(sender As Object, e As RoutedEventArgs) _ Handles btnshadow.click UpdateImageSource(ImageEffect.Shadow) End Sub Private Sub CreateDeviceResources() ' Direct3D デバイスを作成します 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) Next result.checkerror() d3dcontext.dispose() ' DXGI 装置を格納します ( アプリケーションが ' 中断されているときにトリミングするため ) dxgid = d3ddevice.queryinterface(of DXGI.Device)() d3ddevice.dispose() ' RenderTarget を作成します (Direct2D 描画用の DeviceContext) Dim d2ddevice = D2D.Device1.Create(d2dF, dxgid) Dim rt = D2D.DeviceContext1.Create(d2dDevice, D2D.DeviceContextOptions.None) d2ddevice.dispose() rt.setunitmode(d2d.unitmode.pixels) d2dc = rt ' 組み込みの効果を作成します shadow = D2D.Effects.Shadow.Create(rt) affinet = D2D.Effects.AffineTransform2D.Create(rt) compst = D2D.Effects.Composite.Create(rt) End Sub Private Sub DiscardDeviceResources() shadow.dispose() affinet.dispose() compst.dispose() dxgid.dispose() d2dc.dispose() End Sub Private Sub UpdateImageSource(imageEffect 1 As ImageEffect) Dim w As Integer = btmp.pixelwidth + marginlt + marginrb Dim h As Integer = btmp.pixelheight + marginlt + marginrb Dim surfaceoffset As Point2L = Point2L.Empty Dim dxgisurface As DXGI.Surface = Nothing Dim hr = HResult.Ok ' 描画のために DXGI.Surface とオフセットを受け取ります For i As Integer = 0 To 1 hr = sisnative.begindraw(new RectL(w, h), surfaceoffset, dxgisurface) 18 Copyright GrapeCity, Inc. All rights reserved.
20 If (hr <> DXGI.ResultCode.DeviceRemoved _ AndAlso hr <> DXGI.ResultCode.DeviceReset) _ OrElse i > 0 Then Exit For End If ' 古い GPU デバイスが削除された場合は ' 装置リソースを再作成してみてください DiscardDeviceResources() CreateDeviceResources() sisnative.setdevice(dxgid) Next hr.checkerror() ' レンダー対象オブジェクト Dim rt = d2dc ' 対象 Direct2D ビットマップを作成します Dim bptarget = New D2D.BitmapProperties1(New D2D.PixelFormat( DXGI.Format.B8G8R8A8_UNorm, D2D.AlphaMode.Premultiplied), CSng(btmp.DpiX), CSng(btmp.DpiY), D2D.BitmapOptions.Target Or D2D.BitmapOptions.CannotDraw) Dim targetbmp = D2D.Bitmap1.Create(rt, dxgisurface, bptarget) dxgisurface.dispose() ' 対象ビットマップをレンダー対象に関連付けます rt.settarget(targetbmp) targetbmp.dispose() ' 描画を開始します rt.begindraw() ' 対象ビットマップをクリアします rt.clear(nothing) ' C1Bitmap 画像を Direct2D 画像に変換します Dim d2dbitmap = btmp.tod2dbitmap1(rt, D2D.BitmapOptions.None) surfaceoffset.offset(marginlt, marginlt) ' 効果を適用します Select Case imageeffect 1 Case ImageEffect.Original rt.drawimage(d2dbitmap, surfaceoffset.topoint2f()) Exit Select Case ImageEffect.Shadow rt.drawimage(applyshadow(d2dbitmap), surfaceoffset.topoint2f()) Exit Select End Select d2dbitmap.dispose() ' 描画を終了します ( すべての描画コマンドはその時点で実行されます ) rt.enddraw() ' 対象ビットマップをデタッチして破棄します rt.settarget(nothing) ' SurfaceImageSource での完全な描画 sisnative.enddraw() End Sub Private Function ApplyShadow(bitmap As D2D.Bitmap1) As D2D.Effect 19 Copyright GrapeCity, Inc. All rights reserved.
21 shadow.setinput(0, bitmap) shadow.blurstandarddeviation = 5.0F affinet.setinputeffect(0, shadow) affinet.transformmatrix = Matrix3x2.Translation(20.0F, 20.0F) compst.setinputeffect(0, affinet) compst.setinput(1, bitmap) Return compst End Function Private Sub MainPage_Unloaded(sender As Object, e As RoutedEventArgs) DiscardDeviceResources() btmp.dispose() d2df.dispose() dwf.dispose() img.source = Nothing sisnative.dispose() sisnative = Nothing End Sub private void btnshadow_click(object sender, RoutedEventArgs e) UpdateImageSource(ImageEffect.Shadow); void CreateDeviceResources() // Direct3D デバイスを作成します 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 装置を格納します ( アプリケーションが // 中断されているときにトリミングするため ) dxgid = d3ddevice.queryinterface<dxgi.device>(); d3ddevice.dispose(); // RenderTarget を作成します (Direct2D 描画用の DeviceContext) var d2ddevice = D2D.Device1.Create(d2dF, dxgid); var rt = D2D.DeviceContext1.Create(d2dDevice, D2D.DeviceContextOptions.None); d2ddevice.dispose(); rt.setunitmode(d2d.unitmode.pixels); d2dc = rt; // 組み込みの効果を作成します 20 Copyright GrapeCity, Inc. All rights reserved.
22 shadow = D2D.Effects.Shadow.Create(rt); affinet = D2D.Effects.AffineTransform2D.Create(rt); compst = D2D.Effects.Composite.Create(rt); void DiscardDeviceResources() shadow.dispose(); affinet.dispose(); compst.dispose(); dxgid.dispose(); d2dc.dispose(); void UpdateImageSource(ImageEffect imageeffect) int w = btmp.pixelwidth + marginlt + marginrb; int h = btmp.pixelheight + marginlt + marginrb; Point2L surfaceoffset = Point2L.Empty; DXGI.Surface dxgisurface = null; var hr = HResult.Ok; // 描画のために DXGI.Surface とオフセットを受け取ります for (int i = 0; i <= 1; i++) hr = sisnative.begindraw(new RectL(w, h), out surfaceoffset, out dxgisurface); if ((hr!= DXGI.ResultCode.DeviceRemoved && hr!= DXGI.ResultCode.DeviceReset) i > 0) break; // 古いGPUデバイスが削除された場合は // 装置リソースを再作成してみてください DiscardDeviceResources(); CreateDeviceResources(); sisnative.setdevice(dxgid); hr.checkerror(); // レンダー対象オブジェクト var rt = d2dc; // 対象 Direct2D ビットマップを作成します var bptarget = new D2D.BitmapProperties1( new D2D.PixelFormat( DXGI.Format.B8G8R8A8_UNorm, D2D.AlphaMode.Premultiplied), (float)btmp.dpix, (float)btmp.dpiy, D2D.BitmapOptions.Target D2D.BitmapOptions.CannotDraw); var targetbmp = D2D.Bitmap1.Create(rt, dxgisurface, bptarget); dxgisurface.dispose(); // 対象ビットマップをレンダー対象に関連付けます rt.settarget(targetbmp); targetbmp.dispose(); // 描画を開始します rt.begindraw(); // 対象ビットマップをクリアします rt.clear(null); 21 Copyright GrapeCity, Inc. All rights reserved.
23 // C1Bitmap 画像を Direct2D 画像に変換します var d2dbitmap = btmp.tod2dbitmap1(rt, D2D.BitmapOptions.None); surfaceoffset.offset(marginlt, marginlt); // 効果を適用します switch (imageeffect) case ImageEffect.Original: rt.drawimage(d2dbitmap, surfaceoffset.topoint2f()); break; case ImageEffect.Shadow: rt.drawimage(applyshadow(d2dbitmap), surfaceoffset.topoint2f()); break; d2dbitmap.dispose(); // 描画を終了します ( すべての描画コマンドはその時点で実行されます ) rt.enddraw(); // 対象ビットマップをデタッチして破棄します rt.settarget(null); // SurfaceImageSource での完全な描画 sisnative.enddraw(); D2D.Effect ApplyShadow(D2D.Bitmap1 bitmap) shadow.setinput(0, bitmap); shadow.blurstandarddeviation = 5f; affinet.setinputeffect(0, shadow); affinet.transformmatrix = Matrix3x2.Translation(20f, 20f); compst.setinputeffect(0, affinet); compst.setinput(1, bitmap); return compst; private void MainPage_Unloaded(object sender, RoutedEventArgs e) DiscardDeviceResources(); btmp.dispose(); d2df.dispose(); dwf.dispose(); img.source = null; sisnative.dispose(); sisnative = null; 22 Copyright GrapeCity, Inc. All rights reserved.
Bitmap for WPF
2018.04.10 更新 グレープシティ株式会社 目次 Bitmap for WPF 2 主な特長 3 オブジェクトモデルの概要 4 クイックスタート 5-7 機能 8 画像の読み込みおよび保存 8-9 変換の適用 9 画像のクリッピング 9-12 画像の反転 12-14 画像の回転 14-15 画像の拡大 / 縮小 15-17 Bitmap の操作 18 Direct2D エフェクトの適用 18-24
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 エフェクトの適用
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 の要素
ICONファイルフォーマット
グラフィックス 画像フォーマットエンコーダパラメータ 様々なフォーマットで画像を保存 Bitmap クラスを用いる事でビットマップ JPEG GIF PNG 等様々なフォーマットの画像を読み込み操作する事が出来る 更に Bitmap クラスや Graphics コンテナを用いて描画処理等を施したイメージをファイルに保存する事も出来る 此の時 読み込めるフォーマット同様に保存するフォーマットを選択する事が出来る
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 クイックリファレンス
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
グラフィックス
グラフィックス PictureBox の Image プロパティに関する良く有る勘違い PictureBox に画像を表示する方法と仕て PictureBox の Image プロパティを使う方法と Graphics の DrawImage メソッドを使う方法が有るが 此の 2 つの方法を混同し 正しく理解して居ない事が多い様で有る 例えば 下記に列挙する様な状況が 此れに該当する 1.PictureBox
VB.NET解説
Visual Basic.NET 印刷編 目次 印刷の概要... 2 印刷の流れ... 2 標準の Windows フォーム印刷ジョブの作成... 3 実行時に於ける Windows フォーム印刷オプションの変更... 3 Windows フォームに於ける接続されたプリンタの選択... 4 Windows フォームでのグラフィックスの印刷... 5 Windows フォームでのテキストの印刷...
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
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
C# の基本 ~ ファイル読み込み ~ 今回学ぶ事 今回はファイル読み書きに必要 BinaryReader クラスについて記載する ファイル参照ダイアログである OpenFileDialog クラスについても理解を深める また Bitmap クラスを用いた Bitmap ファイルの読み込み方法についても学ぶ フォーム作り まず label picturebox を配置する ツールボックスより左クリックで選択する
ListViewコントロール
ListView コントロール ListView コントロールへ項目を追加 本稿では.NET Framework の標準コントロールで有る ListView コントロール (System.Windows.Forms 名前空間 ) を活用する為に ListView コントロールにデータを追加する方法を紹介する ListView コントロールは データ項目をアイコン表示や詳細表示等に依り一覧表示する為の物で
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 タスク別ヘルプ
(Microsoft Word \203v\203\215\203O\203\211\203~\203\223\203O)
21113 Visual Basic を利用したフリーソフト開発 要旨 各自でフリーソフトを作成 インターネット上に公開することを目的とし Visual Basic2008 2010 を使い簡単なアプリの作成に成功した 1. 目的情報化が進んだ現代において 社会に出ていくためにはパソコンの一つや二つ 軽く扱えなければならない さらに 資源の乏しい日本においては今後 情報技術の発展することが望ましいと考える
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 カルーセルのカスタマイズ
Word for UWP
2018.04.10 更新 グレープシティ株式会社 目次 の概要 2 主な特長 3 オブジェクトモデルの概要 4 クイックスタート 5 手順 1: アプリケーションの設定 5 手順 2: テキストの追加 5-7 手順 3: アプリケーションの実行 7 の操作 8 基礎レベルの操作 8 テキストの追加 8-9 画像の追加 9-10 グラフィックの描画 10-12 引用文の追加 12-15 上級レベルの操作
ウィンドウ操作 応用
Win32API 関数 ウィンドウ操作 ウィンドウ名でトップレベルウィンドウ ( 親を持たないウィンドウ ) のハンドルを取得 メモ帳や電卓等のウィンドウ名でトップレベルウィンドウ ( 親を持たないウィンドウ ) のハンドルを取得する方法を 下記に示す Visual Basic Imports System.Runtime.InteropServices Public Class WindowFromWindowName
ブロック パニック
ブロックパニック VB 2005 9 プログラムの概要 壁が迫り来る不思議な空間のオリジナルゲーム ブロックパニック を作成する スタートボタンをクリックし上下左右の矢印キーで白猿を移動させる スペースキーを押すと 向いて居る方向の壁が後退する 左右の壁が合わさると ゲームは終了する 一般的に 実用プログラムに比較するとゲームプログラムは 高度なテクニックを要求される事が多い 此処では ゲームプログラムを作成する事に依り
データアダプタ概要
データベース TableAdapter クエリを実行する方法 TableAdapter クエリは アプリケーションがデータベースに対して実行出来る SQL ステートメントやストアドプロシージャで TableAdapter で型指定されたメソッドと仕て公開される TableAdapter クエリは 所有るオブジェクトのメソッドと同様に 関連付けられたメソッドを呼び出す事に依り実行出来る TableAdapter
ルーレットプログラム
ルーレットプログラム VB 2005 4 プログラムの概要 カジノの代表的なゲーム ルーレット を作成する 先ず GO! ボタンをクリックすると ルーレット盤上をボールが回転し 一定時間経過すると ボールが止まり 出目を表示するプログラムを作成する 出目を 1~16 大小 偶数奇数の内から予想して 予め設定した持ち点の範囲内で賭け点を決め 賭け点と出目に依り 1 点賭けの場合は 16 倍 其他は 2
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 トリミングボックスのドラッグによるトリミング
VB 資料 電脳梁山泊烏賊塾 音声認識 System.Speech の利用 System.Speech に依るディクテーション ( 音声を文字列化 ).NetFramework3.0 以上 (Visual Studio 2010 以降 ) では 標準で System.Speech が用意されて居るの
音声認識 System.Speech の利用 System.Speech に依るディクテーション ( 音声を文字列化 ).NetFramework3.0 以上 (Visual Studio 2010 以降 ) では 標準で System.Speech が用意されて居るので 此れを利用して音声認識を行うサンプルを紹介する 下記の様な Windows フォームアプリケーションを作成する エディタを起動すると
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 から
プロセス間通信
プロセス間通信 プロセス間通信 (SendMessage) プロセス間通信とは 同一コンピューター上で起動して居るアプリケーション間でデータを受け渡し度い事は時々有る Framework には リモート処理 と謂う方法でデータの受け渡しを行なう方法が有る 此処では 此の方法では無く 従来の方法の API を使用したプロセス間通信を紹介する 此の方法は 送信側は API の SendMessage で送り
バスケットボール
バスケットボール きょうつうへんすうせんげん 共通の変数を宣言する ひょうじ 1. ソリューションエクスプローラで コードの表示をクリックする つぎひょうじところしたかこにゅうりょく 2. 次のコードが表示されるので 1の所に 下の囲いのコードを入力する Imports System.Runtime.InteropServices Public Class Basketball にゅうりょく 1 ここに入力する!
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 ドット単位で指定できる
ファイル操作-バイナリファイル
ファイル操作 バイナリ ファイルを読み書きする バイナリファイル ( 即ちテキストファイル以外のファイル ) を読み書きするには FileStream クラス (System.IO 名前空間 ) を利用する FileStream クラスはファイル用のストリームをサポートするクラスで有り Stream クラス (System.IO 名前空間 ) の派生クラスの 1 つで有る 基本的には コンストラクタで指定したファイルのストリームに対して
ファイル操作
ファイル操作 TextFieldParser オブジェクト ストリームの読込と書込 Microsoft.VisualBasic.FileIO 名前空間の TextFieldParser オブジェクトは 構造化テキストファイルの解析に使用するメソッドとプロパティを備えたオブジェクトで有る テキストファイルを TextFieldParser で解析するのは テキストファイルを反復処理するのと同じで有り
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
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 ヘッダー要素
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
正規表現応用
正規表現 正規表現を使って文字列が或る形式と一致するか調べる 指定された正規表現のパターンと一致する対象が入力文字列内で見付かるか何うかを調べるには Regex クラスの IsMatch メソッドを使用する 此処では IsMatch メソッドを使った例を幾つか紹介する 猶 正規表現のパターンと一致する個所を探し 見付かれば 其の箇所を抽出する方法は 正規表現を使って文字列を検索し 抽出する で紹介して居る
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 ドット単位で指定できる
外周部だけ矩形配列
AUTODESK INVENTOR 概要 : API を使ったプログラムで Inventor のコマンドやマクロプログラムをメニューに登録する方法を紹介します レベル : 本資料は VBA を使った Inventor のカスタマイズについての知識がある方を対象としています サンプル VBA プロジェクト : サンプル VBA プロジェクトデータ (CREATE_UI.zip) をダウンロードし 適当なフォルダに解凍します
OTRS10 他社システムOTRS呼出利用手順書
他社システム OTRS 呼び出し 利用手順書 はじめに 他システム OTRS 呼び出し機能 とは Microsoft Office ( Excel PowerPoint Word ) で作成したファイルに Microsoft Office のコマンドボタン作成機能を利用して OTRS の起動情報をコマンドボタンに設定することで OTRS の分析データを OTRS のメニューを開いてから選択せずに 表示することを可能にする
mySQLの利用
MySQL の利用 インストール インストール時に特に注意点は無い 本稿記述時のバージョンは 6.5.4 で有る (2017 年 11 月現在では 6.10.4 で https://dev.mysql.com/downloads/connector/net/6.10.html よりダウンロード出来る ) 参照設定 インストールが終了すれば Visual Studio で参照の設定を行う 参照の設定画面で
構造体
構造体 Byte 配列 構造体とコピーする方法 構造体とバイト配列の変換を行うには System.Runtime.InteropServices 名前空間をインポートして置くと便利で有る Imports System.Runtime.InteropServices using System.Runtime.InteropServices; 下記の 3 種類の構造体にバイト配列の値を格納した場合に付いて検証する
Visual Basic 資料 電脳梁山泊烏賊塾 コレクション初期化子 コレクション初期化子 初めに.NET 版の Visual Basic では 其れ迄の Visual Basic 6.0 とは異なり 下記の例の様に変数宣言の構文に 初期値を代入する式が書ける様に成った 其の際 1 の様に単一の値
コレクション初期化子 コレクション初期化子 初めに.NET 版の Visual Basic では 其れ迄の Visual Basic 6.0 とは異なり 下記の例の様に変数宣言の構文に 初期値を代入する式が書ける様に成った 其の際 1 の様に単一の値 ( 此処では 10) を代入する丈でなく 2 の配列変数の宣言の様に ブレース { } の中にカンマ区切りで初期値のリストを記述し 配列の各要素に初期値を代入出来る様に成った
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: コントローラーの追加
ComponentOne for ASP.NET Web Forms ユーザーガイド
ComponentOne for ASP.NET Web Forms ユーザーガイド 2018.04.17 更新 グレープシティ株式会社 目次 ComponentOne for ASP.NET Web Forms ユーザーガイド 2 コンポーネントをプロジェクトに組み込む方法 2 コンポーネントのランタイムファイル 2-3 エクスポートサービス 3-4 テーマ 5 ThemeRoller for Visual
平成 29 年度卒業研究 初心者のためのゲームプログラミング用 教材の開発 函館工業高等専門学校生産システム工学科情報コース 5 年 25 番細見政央指導教員東海林智也
平成 29 年度卒業研究 初心者のためのゲームプログラミング用 教材の開発 函館工業高等専門学校生産システム工学科情報コース 5 年 25 番細見政央指導教員東海林智也 目次 第 1 章英文アブストラクト第 2 章研究目的第 3 章研究背景第 4 章開発環境第 5 章開発した 2D ゲーム制作ライブラリの概要第 6 章ライブラリの使用方法第 7 章まとめと今後の課題参考文献 1 第 1 章英文アブストラクト
グラフィックトレーニング 概要.NET のグラフィック描画は どんなことができるのでしょうか? グラフィックオブジェクトやグラフィック環境 概念を理解するためには クラスを使って馴れることが近道です 本 書に記載されているコードをカットアンドペーストして 一つ一つの機能を体験してください 前提 グラ
C# & VB 1 グラフィックトレーニング 概要.NET のグラフィック描画は どんなことができるのでしょうか? グラフィックオブジェクトやグラフィック環境 概念を理解するためには クラスを使って馴れることが近道です 本 書に記載されているコードをカットアンドペーストして 一つ一つの機能を体験してください 前提 グラフィックを行うためには Visual Studio の基本操作や C# または VB
.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~
.NET プログラマー早期育成ドリル VB 編 付録文法早見表 本資料は UUM01W:.NET プログラマー早期育成ドリル VB 編コードリーディング もしくは UUM02W:.NET プログラマー早期育成ドリル VB 編コードライティング を ご購入頂いた方にのみ提供される資料です 資料内容の転載はご遠慮下さい VB プログラミング文法早見表 < 基本文法 > 名前空間の定義 Namespace
Img_win.book
この章では 画像の編集と編集した画像の保存や印刷の方法について説明します ビューアー画面について サムネイル一覧の画像ファイルのサムネイルをダブルクリックするとビューアー画面が表示されます ビューアー画面では 画像の補正や画素数の変更 トリミングのほか ファイルの保存 印刷をすることができます また倍率を指定して画像を拡大 縮小表示できます ビューアー画面 1 2 第 章 3 1 メニューバーメニューを表示します
Secure iNetSuite for .NET 4.0Jの新仕様について
Secure inetsuite for.net 4.0J の新仕様について グレープシティ株式会社 2013 年 8 月初版 メール送受信とファイル転送機能を実現する通信コンポーネント Secure inet Suite の通信モードの仕様が新しくなりました 本資料では従来のバージョンとの違いとメリットをコードを使って詳しく解説します はじめに 2013 年 9 月発売の Secure FTP for.net
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
Userコントロール
User コントロール 初めてのユーザーコントロールの作成 作成したクラスは他のプログラムで再利用出来る為 同じコードを何度も繰り返し作成する必要が無い コントロールも 複数のプロジェクトで再利用出来るクラスで有る 同じユーザーインターフェイスを何度も繰り返してデザインすると謂う経験は 恐らく誰でも有る 例えば 姓と名を入力する為の TextBox コントロールを追加した後で 両方を組み合わせてフルネームを作成するコードを追加する等の作業で有る
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.
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++
CubePDF ユーザーズマニュアル
CubePDF ユーザーズマニュアル 2018.11.22 第 13 版 1 1. PDF への変換手順 CubePDF は仮想プリンターとしてインストールされます そのため Web ブラウザや Microsoft Word, Excel, PowerPoint など印刷ボタンのあるアプリケーションであればどれでも 次の 3 ステップで PDF へ変換することができます 1. PDF 化したいものを適当なアプリケーションで表示し
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 デザイン時のサポート
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 スマートタグ
XNA Framework
XNA Framework 2.0 M@STER SESSION 01 XNA Framework の技術的背景 システム基盤は.NET Framework マネージ環境で実行 クロスプラットフォーム Windows, Xbox360, Zune DirectX, MDX から独立している 開発 実行環境の構造 XNA Game Studio (Visual Studio 2005) XNA Framework
Oracle Lite Tutorial
GrapeCity -.NET with GrapeCity - FlexGrid Creation Date: Nov. 30, 2005 Last Update: Nov. 30, 2005 Version: 1.0 Document Control Internal Use Only Author Hiroshi Ota Change Logs Date Author Version Change
1.dll の配置場所配布時はプログラムの実行フォルダーへ配置 2. 開発環境での使用 プロジェクトのプロパティーで [USBPIO.dll] を参照追加してください 開発環境 dll ファイルの場所 VB.Net Express Edition 境プロジェクトのフォルダ \bin\release VB.Netebugビルドの場合プロジェクトのフォルダ \bin\debug VB.Net Releaseビルドの場合プロジェクトのフォルダ
スライド 1
WindowsForm サンプル解説 S2Container.NET, S2Dao.NET コミッタ 藤井宏明 1 S2Container.NET の Examples フォルダに付属する WindowsSample の解説です 概要 アプリケーション アーキテクチャー ソリューション構成 プロジェクト概要 サンプル説明 2 Ⅰ. アプリケーション アーキテクチャー 3 アプリケーション アーキテクチャー
DPC-0401
Interface USB Driver (I/O-CD) DPC-0401 USB 拡張 I/O 用 Windows ドライバ Help for Windows www.interface.co.jp 目次 第 1 章はじめに...3 1.1 概要...3 1.2 各 I/O に対応したドライバ...3 第 2 章製品仕様...4 2.1 基本仕様...4 2.2 製品構成...4 2.3 クラスライブラリの参照方法...5
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)
プレポスト【問題】
コース名 : 基礎から学ぶ!Excel VBA による業務の自動化 受講日 氏名 1 Excel VBA を使用するメリットとして誤っているものを 1 つ選びなさい 1. 手作業では手間のかかる作業も プログラムに記述した処理は一括して実行されるため 何段階ものメニュー操作を行う必要がなくなる 2. プログラムに書いた処理は記述どおりに実行されるため だれがいつ何回行っても確実な処理がなされ 誤動作を防ぐことができる
Javaプログラムの実行手順
戻り値のあるメソッド メソッドには 処理に使用する値を引数として渡すことができました 呼び出し 側からメソッドに値を渡すだけでなく 逆にメソッドで処理を行った結果の値を 呼び出し側で受け取ることもできます メソッドから戻してもらう値のことを もどりち戻り値といいます ( 図 5-4) 図 5-4. 戻り値を返すメソッドのイメージ 戻り値を受け取ることによって ある計算を行った結果や 処理に成功したか失
ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar
ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spark API との通信 このラーニングモジュールでは Python を使用した Spark API とのインターフェイスを扱います
ファイル監視
ファイル操作 ファイルやディレクトリの監視 FileSystemWatcher クラス.NET Framework のクラスライブラリには ファイルやディレクトリの作成 変更 削除を監視する為の FileSystemWatcher クラスが System.IO 名前空間に用意されて居る ( 但し Windows 98/Me では利用出来ない ) 此れを利用すると 特定のディレクトリにファイルが作成された
3D回転体プログラム
3D 回転体プログラム VB 2005 4 プログラムの概要 入力画面で マウスを用いて 側面より見た平面図を描きます マウスの左ボタンをクリックする事で連続線を描き 右ボタンをクリックすると新しい線を描く事が出来る 側面図が完成すると 回転の基本角度を設定して 確定ボタンをクリックすると 平面図を立体図に座標変換する 各軸の回転角度を設定して 表示ボタンをクリックすると 立体図が表示される 各軸の回転角度を変更して
ハピタス のコピー.pages
Copyright (C) All Rights Reserved. 10 12,500 () ( ) ()() 1 : 2 : 3 : 2 4 : 5 : Copyright (C) All Rights Reserved. Copyright (C) All Rights Reserved. Copyright (C) All Rights Reserved. Copyright (C) All
Copyright 2008 All Rights Reserved 2
Copyright 2008 All Rights Reserved 1 Copyright 2008 All Rights Reserved 2 Copyright 2008 All Rights Reserved 3 Copyright 2008 All Rights Reserved 4 Copyright 2008 All Rights Reserved 5 Copyright 2008 All
第32回_プレゼン資料_菅原(Unityはじめるよ~上半身だけ動かす2~)
Unity はじめるよ 上半 だけ動かす 2 統合開発環境を内蔵したゲームエンジン http://japan.unity3d.com/ いろんな職業の が る資料なので説明を簡単にしてある部分があります 正確には本来の意味と違いますが上記理由のためです ご了承ください この資料内の 部の画像 部の 章は Unity 公式サイトから引 しています 上半 だけ動かす 複雑なステートマシンを体の各部分ごとに管理することができます
ArcGIS Runtime SDK for .NET アプリケーション配布ガイド
ArcGIS Runtime SDK for.net アプリケーション配布ガイド 目次 はじめに... 1 対象の製品バージョン... 1 ライセンス認証のステップ... 2 使用するライセンスの選択... 3 クライアント ID の取得... 4 Basic レベルのライセンス認証... 6 Standard レベルのライセンス認証... 8 ArcGIS Online / Portal for
storage-sdk-Java
オブジェクトストレージ SDK Java Version 1.0 Version 更新日内容 1.0 2014 年 4 月 18 日新規作成 1.1 2014 年 5 月 23 日 RiakCS のバージョンを 1.4.5 に修正 IDC Frontier Inc. All Rights Reserved. PAGE : 1 / 7 目次 1. 概要... 3 2. 利用できる API... 3 3.
Microsoft Word - DT-5100Lib_Manual_DotNet.doc
CASSIOPEIA DT-5100 シリーズ.NET ライブラリマニュアル 概要編 Ver 3.00 変更履歴 No Revision 更新日項改訂内容 1 1.00 03/1/20 初版初版発行 2 3.00 05/03/15 3 カシオライブラリマニュアル (.NET) 開発マニュアルの 1~4 をひとまとめ にしました 4 5 6 7 8 9 10 11 12 13 14 15 16 17
目次 はじめに... 3 システムの必要条件... 3 サンプルアプリケーションの作成... 3 手順 手順 手順 手順 手順 手順 終わりに... 23
SharpShooter Reports.Silverlight 基本的な使い方 Last modified on: August 16, 2012 本ドキュメント内のスクリーンショットは英語表記ですが SharpShooter Reports JP( 日本語版 ) では日本語で表示されます 目次 はじめに... 3 システムの必要条件... 3 サンプルアプリケーションの作成... 3 手順 1...
本書は INpMac v2.20(intime 5.2 INplc 3 Windows7/8/8.1に対応 ) の内容を元に記載しています Microsoft Windows Visual Studio は 米国 Microsoft Corporation の米国及びその他の国における登録商標です
ACTIVE TOUCH 拡張部品取扱説明書 - 共有メモリアクセスコンポーネント - 1. はじめに 1 (1) 概要... 1 (2) INpMac のインストール... 1 2. Windows アプリケーションとの連携 2 (1) コントロール ( 部品 ) の登録... 2 (2) データの関連付け... 3 3. INtime アプリケーションとの連携 4 (1) 部品 ( コンポーネント
目次 はじめに... 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 開発...
PowerPoint プレゼンテーション
レッスン (1) あるワークシート中のあるセルを指定する Worksheets(" ワークシート名 ").Range(" セル ").Value ( 例 ) Worksheets(" データ収集 ").Range("A2").Value あるワークシートのセルから 別のワークシートのセルへ転記する Worksheets(" シート A").Range(" セル ").Value = Worksheets("
操作説明書 AV-HS410 用イメージ転送ソフトウェア JAPANESE M0412TY0 -FJ VQT4K83
操作説明書 AV-HS0 用イメージ転送ソフトウェア JAPANESE M0TY0 -FJ VQTK8 もくじ 概要... 仕様... 接続... ソフトウエアのインストール方法... ソフトウェアの基本操作... 起動... 終了... IP アドレスの入力... イメージデータの転送... ホストコンピューターから AV-HS0 へイメージデータを転送する... AV-HS0 からホストコンピューターへイメージデータを転送する...
C1Live
C1Live 2014.01.30 更新 グレープシティ株式会社 Copyright GrapeCity, Inc. All rights reserved. C1Live 目次 i 目次 ComponentOne Studio Live 更新ユーティリティの概要 1 Studio Live について 2 Studio Live 製品グリッド... 3 Studio Live メニュー... 4 Studio
