WPF
ディザパターンを使って8色に減色 8色は白、黒、赤、緑、青、黄色、水色、赤紫で固定 元の画像 前回はディザパターンなしで変換 こうだったのが 2x2のディザパターンを使うと 同じ8色でも再現度が上がる 何よりかっこいい 同じように4x4のパターン かっこい…
カラー画像を8色に減色 8色は白、黒、赤、緑、青、黄、水色、赤紫(マゼンタ) ドラッグアンドドロップで開いた画像を8色に減色しているところ using System; using System.Windows; using System.Windows.Controls; using System.Windows.Media; using System…
ディザ、ディザリング 輝度が0から255までのグラデーションのグレースケールを 白黒2値化すると中間で白と黒に分かれるので 元の画像とはかなり違うものになる ディザリングを使うと 同じ白黒2値でも元の画像に近くなる なにより見た目がかっこいい!! 灰色…
この記事は gogowaten.hatenablog.com カラー画像を1bpp(1bit)白黒画像に変換して保存するアプリ作ってみた、しきい値は手動設定 ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ https://blogs.yahoo.co.jp/gogowaten/15335812.html ↑の記事のアプリ…
画像を白黒2値に変換して保存するアプリ 動作の様子 しきい値を変更しているところ 平均輝度のボタンで画像の平均輝度をしきい値に設定 ダウンロード先(ヤフーボックス) 画像を開くときはファイルをドラッグアンドドロップ 対応するのは普通の画像ファイルで…
画像を白黒2値にして1bitのビットマップ形式のファイルに保存 PixelFormatはBlackWhite ついでPixelFormatがIndexed1(2色パレット)の1bitビットマップファイルも作成 いつものこの画像を 白黒2値に変換、PixelFormatはBlackWhite ヤフーブログはbmp画像の投…
WmpBitmapEncoderを使ってwdp形式の画像を作成 作成時の画質の設定を変化させたときのファイルサイズと結果画像を比べてみた WmpBitmapEncoder クラス (System.Windows.Media.Imaging) https://msdn.microsoft.com/ja-jp/library/system.windows.media.imagi…
今までは何も指定しないで作成していたけど圧縮(エンコード)方式をいくつか選べるみたいなので試してみた TiffBitmapEncoder.Compression プロパティに TiffCompressOption列挙型から選んで指定する TiffCompressOption 列挙型 (System.Windows.Media.Imagin…
Imageコントロールに表示するBitmapSourceを画像ファイルから作成するときに dpiを指定するか、元の画像ファイルのdpiに合わせるか選択したい PixelFormatを画像ファイルに正確に合わせるか環境に最適なものに変更するか選択したい PixelFormatを指定したも…
前回は画像のPixelFormatをいろいろ変更してファイルに保存した 正しく保存されていないのもあったけど、それは置いといて 今回はこのファイルを、いくつかの方法で読み込んで PixelFormatやbpp(ビットの深さ)を確認してみた この画像ファイルのビットの深さ…
PixelFormatを変更してファイルに保存 PixelFormatを変更している様子 コンボボックスからPixelFormatを選ぶと変更された画像に切り替わる Saveボタンを押すとファイルに保存する 保存形式はbmp、jpeg、gif、png、tiff、wdp ファイル名は元のファイル名+Pix…
BitmapSourceのCreateメソッドでBitmapSourceを作成する時にdpiを指定できるのでこれを使う そのためには画像の色情報のbyte型配列が必要なのでこれを BitmapImageのCopyPixelsメソッドで作成 テストに使った画像は 携帯電話で撮った写真画像 72dpi、256x19…
前回からの続きで、今回ので満足できるところまでできた 変形後の要素の4頂点をグリッド頂点にスナップ 動作の様子 変形(20度回転)後の要素の四隅の頂点を順番にを100,100の位置にスナップ移動させている できたなあ 一年前に失敗したのと同じ考え方なんだ…
前回からの続きで 今回の目的は 変形した要素がピッタリ収まる四角枠の4辺をグリッドスナップするマウスドラッグ移動 今回のアプリのダウンロード先 github.com コードは github.com 青枠がぴったり枠で水色罫線がグリッド どんな処理をすればいいのかエクセ…
gogowaten.hatenablog.com 前回で要素の変形後の位置とサイズを取得できるようになったので、それを使って目的だった変形後のグリッドスナップ移動ができるようなった 今回のアプリのダウンロード先 github.com コードは github.com グリッドスナップ移動 橙…
要素を指定した位置に移動させる yyyy_20170629_131223.gif 水色の四角枠は目印、サイズ100x100、x,y=100,100 赤の四角が目的の要素、サイズ100x100 移動ボタン1と2どちらも100,100へ移動させるボタンだけど基準が違う 基準A:ボタン1は見た目上の位置 基準…
Canvasに表示したBorderの Canvas.LeftとCanvas.Topを SliderのValueにBinding VBのコードでBinding 今回のアプリのダウンロード先 github.com デザイン画面、XAML MainWindowのVBコード Class MainWindow '右へ10 Private Sub AddLeft10() Canvas.SetLeft(M…
目的 MultiBindingとIMultiValueConverterを使って Borderの背景色(Background.Brush)とスライダーの値を双方向バインディング ボタンはBorderの背景色を変更しているだけでスライダーの値には触っていない 背景色(Background.Brush)←→スライダー ↑ ボタンで…
目的は 動的作成で個数も決まっていない対象の拡大縮小 縦横独立と同期をチェックボックスで切り替えできるようにする スライダーやボタンで数値の変更 結果 yyyy_20170620_000130.gif OKです 今回のアプリのダウンロード先 github.com デザイン画面とXAML …
作成した依存プロパティと RenderTransformの中のRotateTransformのAnglePropertyをBindingしておいて スライダーやテキストボックスともバインディング 今回のアプリのダウンロード先 github.com デザイン画面 ヤフーブログのかんたんモードでXAMLを書くと…
Canvasの中にある画像として保存したい要素が回転や拡大など変形されていてもOKな方法 Private Sub Test2ImageFile(obj As FrameworkElement, parentPanel As Panel) '変形した要素がぴったり収まるRectを取得 Dim gt As GeneralTransform = obj.TransformTo…
前回は図形に対するアンチエイリアスの切り替えだった 今回は画像に対するアンチエイリアスの切り替えというかぼやけるのを切り替え 特に設定しないと拡大や回転表示させたときにはアンチエイリアスが有効な状態で表示される、くっきり表示させたいときは Ed…
RenderOptions.SetEdgeModeで図形のアンチエイリアスの有無を切り替え 左右それぞれのStackPanelの下の方に表示している図形は上から Line(太さ0.5) Line(太さ1.0) Line(太さ5.0)Lineはそれぞれ2本ずつ Rectangle Ellipse 右のすべての図形は図形自体のEdgeM…
XAMLじゃなくてVBコードで Bindingした数値の書式設定 SliderのValuePropertyはDouble型、これを各TextBlockのTextPropertyにBindingして表示するときの書式設定の例 数値が123.45で 表示 小数点以下が要らないとき 123 Binding.StringFormat = "0" 123 Bind…
エクセルのグループ化を真似したくていろいろ試している続き マウスドラッグで四角形の範囲を作ってその範囲に重なったものを取得するっていうだいぶ前の方法 gogowaten.hatenablog.com WPFとVB.NET、エクセルのグループ化とグループ化解除を真似したい4 ( …
グループ化後の変形とグループ化解除のテスト 前回からの続き、テストばっかりで本番前に力尽きそう 赤枠はグループの範囲の境界線、青マスは1マス50 見た目の位置とサイズは水色のこと 前提 グループを回転や拡大率の指定をするときの中心点は各Thumb(四角)…
グループ化テストの続き テストのテスト グループ化後の回転 エクセルの場合 グループの中心が回転軸になっている これを真似したい 同じ色どうしがグループ化されていると見倣して、グループを回転させた時の動作 水色のThumbの回転軸は自身の中心 桃色のTh…
グループ化の続き 前回と前々回のを足して グループ化したいThumbをマウスのドラッグで範囲選択してグループ化と解除 ここまでできた グループ化テスト 青枠はグループの枠でただの目印 回転角度と拡大率指定のスライダーはまだ動かせない、これができたらテ…
マウスドラッグ移動で四角枠を表示して枠内のThumbを取得 デザイン画面とXAML マウスの位置を取得するには背景色を指定する必要があるみたい だけど色はいらないので透明色のTransparenを指定している VBコード Imports System.Windows.Controls.Primitives …
以前とは別の方法でグループ化と解除のテスト wpf_46.gif デザイン画面とXAML VBコード Imports System.Windows.Controls.Primitives Class MainWindow Private tList2 As New List(Of ExThumb2) Private Const grid As Integer = 20 'グリッドの大きさ '選…