約 3,434,091 件
https://w.atwiki.jp/pixelmash_bear/pages/40.html
レイヤーエフェクト テキスト テキストエフェクトの解説: 「文字入力」「テキスト表示」。対象のレイヤー内に任意の文字列を表示させることができます。※v2021.4.1以降のみ Pixelmashには文字レイヤーという概念はない。レイヤーエフェクトに属することからわかるように、この機能はエフェクトの一環である。従ってすでに描画されているレイヤーにも元のピクセル情報を保持したままテキストを追加すること自体はできる(見た目の重ね順は背面になるが)。 エフェクトなので必要に応じてオン/オフ(非表示)できる レイヤーエフェクトのなかでも珍しい、元のレイヤーにピクセルが存在しなくてもエフェクトがかけられるタイプ。設定項目で指定した文字列を投影することができる。 Pixelmash自体は日本語非対応だがシステムにインストールされたフォントを使用できるのでこのエフェクトで日本語・2バイト文字は普通に扱うことができる <テキストの項目・設定方法> エフェクトをかけたいレイヤーを選択している状態でレイヤータブ内「Add Effect」ボタンを押し、ドロップダウンリストから「Text」を選ぶと設定項目がレイヤータブ内に追加される。 <共通のレイヤーエフェクト操作> 効果オンオフ切り替えスイッチ:レイヤーエフェクト共通の機能。設定を保持したままエフェクトのオンオフを切り替えることができる。 レイヤーエフェクトの削除:こちらも共通の機能。外見は「閉じるボタン」のそれだが、これを押した瞬間に確認も警告もなしに管理パネルから削除されるので十分に注意を(削除した直後なら「Undo」で復活させることができる)。 文字色の設定 ベタ塗りする際の文字色を指定する。 ここで設定できるカラーは1色のみで、文字数や行数がいくらあろうと個別にカラー指定はできず一括指定となる。 レイヤーエフェクト扱いではあるもののレイヤーとして存在しているには違いないのでGradientやColoriseの対象にはなるため最終的な文字色は後付で考えれば良い。なんならベイクして一文字ずつ手塗りしても構わない(他ツールと比較してトータルの作業効率で劣るのは否めないが)。 表示テキストの入力欄:表示させたい文字列をここに入力する。スペース・改行も挿入可能。冒頭でふれたように、日本語もこのボックスにさえ入力すれば問題なく表示できる。 初期設定では伝統のダミーテキスト「Lorem ipsum」が仮入力されているのでそれを任意の文字列に置き換えるかたちで使用する Alignment 「文字揃えと文字列配置」アラインメントとは整列といった意味。表示させたい文字列をビューポート内にどう配置するかを以下の基準から好きに選択できる。 漢字ひらがななどの2バイト文字を入力している場合は揃え方(特に左上揃えのとき)やフォントによってはビューポートから文字がはみだしてその部分が非表示になるので中段表示で位置調整するなど工夫をしたほうが早い・管理しやすいときがある…もともとPixelmashは日本語非対応なのでしょうがないところか あろうことか単純にフォントに含まれているベースライン情報を基準にしているだけのようで、英文フォントを使用していても「下段配置」のときは「g」の下部などがビューポートを貫通している。ユーザーがもう自衛するしかない。 このエフェクトで文字列を作成したあとに「Edit」メニューでドキュメントのサイズを変更すると外見上での見かけは同じだがビューポート内での表示にズレが生じるので気になる人は注意。適宜BakeLayerResolutionをかけるのもアリ。Left Top 「上段・左詰め」「左上揃え」 Left Mid 「中段・左詰め」 Left Bottom:「下段・左詰め」「左下揃え」 Center Top:「上段・中心揃え」 Center Mid 「中段・中心揃え」「中央揃え」 Center Bottom 「下段・中心揃え」 Right Top 「上段・右揃え」「右上揃え」 Right Mid 「中段・右揃え」 Right Bottom 「下段・右揃え」「右下揃え」 Font 「フォント」使用したい書体を選択する。 デフォルトのフォントとしてシステム内にインストールされたフォントリストでの先頭フォントが必ず毎回ここに入るので非常につかいづらい筆者の環境ではよりによって記号フォントの「AIGDT Regular」がデフォルトとなっている。ばかなの? アルファベットでのリスト内ジャンプこそできるものの、スクロールバーなどのUIはないのでインストールしている書体数が多い環境では覚悟が必要。HomeキーとEndキーでのリスト先頭/末尾へのジャンプも利く。日本ユーザーならDとかFとかKとかMとかPとか、よく使うフォント群の頭文字を覚えて活用しよう 重度のPixelmashユーザーと思われても構わないのなら極端によく使う書体があるのなら「ExportLayerEffect/ImportLayerEffect」で書体と文字列ごと登録してライブラリとして呼び出すことで、煩わしさを体感的に緩和できてるのか実際できてないんだかよくわからない状態に自分をごまかすことはできる 他ツールでも有効な「書体選択時にカーソル位置そのままでマウスホイールで書体送り」の小技はPixelmashでも可能。時間はかかるが、書体をパラパラ変更しながら見た目をその場で確認したいというときには便利。 FontSize 「文字サイズ」 LineHeight 「行送りの高さ」文字列が改行込みの複数行の場合、ここで行送りの高さを指定できる。初期設定は1。 0.5や0.88といった1以下の数値も指定できてかなり融通(調整)が利くのでここは優秀。 Opacity 「透明度」 Enable Anti-Aliasing 「アンチエイリアシングの適用」 Pixelmashの特徴・利点に反している気がしないでもないが、ユニークなことにこのオプションがちゃんとあるので「なめらかな文字表現」も可能となっている。
https://w.atwiki.jp/ruphy/pages/35.html
CGContext class CGContext # Managing Graphics Context def flush; self end def self.Get_type_id; id end def release; end def retain; end def synchronize; end # Saving and Restoring the Current Graphic State def save_g_state; self end def restore_g_state; self end # Getting and Setting Graphics State Parameters def get_interpolation_quality; @interpolation_quality end def set_flatness(flatness); @flatness=flatness end def set_interpolation_quality(quality); @interpolation_quality= quality end def set_line_cap; end def set_line_dash; end def set_line_join; end def set_line_width; end def set_miter_limit; end def set_pattern_phase; end def set_fill_pattern; end def set_rendering_intent; end def set_should_antialias; end def set_should_smooth_fonts; end def set_stroke_pattern; end def set_blend_mode; end def set_allows_antialiasing; end # Constructing Paths def add_arc; end def add_arc_to_point; end def add_curve_to_point; end def add_lines; end def add_line_to_point; end def add_path; end def add_quad_curve_to_point; end def add_rect; end def add_rects; end def begin_path; end def close_path; end def move_to_point; end def add_ellipse_in_rect; end # Painting Paths def clear_rect; end def draw_path; end def even_odd_fill_path; end def fill_path; end def fill_rect; end def fill_rects; end def fill_ellipse_in_rect; end def stroke_path; end def stroke_rect; end def stroke_rect_with_width; end def replace_path_with_stroked_path; end def stroke_ellipse_in_rect; end def stroke_line_segments; end # Getting Information About Paths def is_path_empty; end def get_path_current_point; end def get_path_bounding_box; end def path_contains_point; end # Setting Color, Color Space, and Shadow Values def set_alpha; end def set_CMYK_fill_color; end def set_fill_color; end def set_CMYK_stroke_color; end def set_fill_color_space; end def set_fill_color_with_color; end def set_gray_fill_color; end def set_gray_stroke_color; end def set_RGB_fill_color; end def set_RGB_stroke_color def set_shadow def set_shadow_with_color def set_stroke_color def set_stroke_color_space def set_stroke_color_with_color # Transforming User Space def concat_CTM; end def get_CTM; end def rotate_CTM; end def scale_CTM; end def translate_CTM; end # Using Transparency Layers def begin_transparency_layer def begin_transparency_layer_with_rect def end_transparency_layer # Drawing an Image to a Graphics Context def draw_tiled_image def draw_image # Drawing PDF Content to a Graphics Context def draw_PDF_page def draw_PDF_document # Drawing With a Gradient def draw_linear_gradient def draw_radial_gradient # Drawing With a Shading def draw_shading # Setting Up a Page-Based Graphics Context def begin_page def end_page # Drawing Glyphs # 字面の描画 def show_glyphs(g, count); self end def show_glyphs_at_point(x, y, glyphs, count); self end def show_glyphs_with_advances(glyphs, advances, count); self end def show_glyphs_at_positions()(glyphs, positions, count); self end # Drawing Text # テキストの描画 def get_text_matrix; @matrix end def get_text_position; @text_position end def select_font(name, size, text_encoding); @font=[[CTFont]](name, size, text_encoding) end def set_character_spacing(spacing); @spacing end def set_font; end def set_font_size def set_text_drawing_mode def set_text_matrix def set_text_position def show_text def show_text_at_point # Converting Between Device Space and User Space def get_user_space_to_device_space_transform def convert_point_to_device_space def convert_point_to_user_space def convert_size_to_device_space def convert_size_to_user_space def convert_rect_to_device_space def convert_rect_to_user_space end Functions by Task Manageing Graphics Contexts How to Use context = NSGraphicsContext.current_context.graphics_port context.set_text_matrix CGAffineTransform Identity
https://w.atwiki.jp/sampleisbest/pages/142.html
開発環境 Microsoft Visual C++ 2010 Express (SP1) 実行環境 Microsoft Windows XP Home Edition (SP3) プロジェクトの種類 空の CLR プロジェクト プロジェクト名 ClrEdit ClrEdit.cpp #pragma comment(linker, "/subsystem windows") #pragma comment(linker, "/entry main") // .NET参照 #using System.dll #using System.Drawing.dll #using System.Windows.Forms.dll // 名前空間 using namespace System; using namespace System IO; using namespace System Text; using namespace System Windows Forms; public ref class Form1 public Form { public Form1(void) { InitializeComponent(); } private Panel^ panel; Button^ edit; TextBox^ text; void InitializeComponent(void) { panel = gcnew Panel; edit = gcnew Button; text = gcnew TextBox; panel- SuspendLayout(); SuspendLayout(); // panel panel- Controls- Add(edit); panel- Height = 28; // edit edit- Top = (panel- Height - edit- Height) / 2; edit- Text = L"編集"; edit- Click += gcnew EventHandler(this, Form1 EditClick); // text text- Multiline = true; text- ScrollBars = ScrollBars Vertical; // Form1 ClientSize = Drawing Size(480, 480); Controls- Add(panel); Controls- Add(text); Text = L"Form1"; ActiveControl = text; panel- ResumeLayout(false); panel- PerformLayout(); ResumeLayout(false); PerformLayout(); } protected virtual void OnResize(EventArgs^ e) override { int width = ClientSize.Width; panel- Width = width; text- Width = width; text- Top = panel- Top + panel- Height; text- Height = ClientSize.Height - panel- Height; } private void EditClick(Object^ sender, EventArgs^ e) { StringReader^ sr = gcnew StringReader(text- Text); StringWriter^ sw = gcnew StringWriter; while (sr- Peek() -1) { String^ line = L" " + sr- ReadLine(); sw- WriteLine(line); } sw- Close(); sr- Close(); text- Text = sw- ToString(); text- Select(); text- SelectAll(); /*/ String^ file1 = Path GetTempFileName(); String^ file2 = Path GetTempFileName(); Encoding^ enc = Encoding GetEncoding(L"shift_jis"); // 書き込み File WriteAllText(file1, text- Text, enc); // 編集 StreamReader^ sr = gcnew StreamReader(file1, enc); StreamWriter^ sw = gcnew StreamWriter(file2, false, enc); while (sr- Peek() -1) { String^ line = L" " + sr- ReadLine(); sw- WriteLine(line); } sw- Close(); sr- Close(); // 読み込み text- Text = File ReadAllText(file2, enc); File Delete(file2); File Delete(file1); */ } }; [STAThread] int main() { Application EnableVisualStyles(); Application SetCompatibleTextRenderingDefault(false); Application Run(gcnew Form1()); return 0; }
https://w.atwiki.jp/devulman/pages/15.html
Visitor No. - - - ここは、Delphi(Pascal)によるプログラム講座です。(2009/11/23開始) かなりアバウトな計画現在の出来具合。プログラムを使いたい人は、このページのドンケツまで進んでください。 長辺250文字を使うと47段階表示で、こんなにきれい(Jpeg)です。 このサンプルPDFは、秀丸からDocuCom PDF Driverに出力しています。12/20の段階で、印刷機能をプログラムしました。位置は、自動で中央配置、縦長・横長の自動判定、文字も用紙に対して最大になるよう自動調整で印刷します。文字情報から印刷データを作成するので、画像保存とは比較にならないきれいさで印刷します。 着手から1ヶ月、知らない人でも使えるインターフェイスまでできあがりました。(2009/12/23) 絵を読み込んで、文字の画数を濃淡として表現 一般にテキストアート(text art)・アスキーアート(ascii art)などと言われていますが、パソコンが、パーソナルではなかったころには、グラフィックプリンターなんてないので、ドット絵のようなものか、文字の画数を濃淡として表現するか、違う文字を2度打ちするなどので絵を印刷しました。 これ自体は、いくつかのソフトと手作業の技で、できないものではありません。私の場合、半角で構成するなら、横幅は、200としてMS-Paintで適当な絵を縦方向に半分に縮め、上下反転したものをBMPで保存。 PSPで、グレースケール- 16色に減色- 24bitに増色- win16色を含む256色に原色- 再度グレースケール-- 保存。 Binary Editor- 先頭から色FFFFFF(白)まで削除- 保存。 秀丸で欧文字表記設定- 200字ごとに改行する- 濃淡にあわせて置換- csvで保存。 Excelで、非プロポーショナルフォントを選択- うんとズームバック- 行間を調整- 印刷比率を調整。 以上の手順で作ったサンプルです。文字で構成されているのを確認しやすいように、PDFにしてあります。これ以後もサンプルは、プログラムのチェックで作ったものをPDFでUploadしています。Che Guebara 東野英治郎(水戸黄門) Milla Jovovich Leonard Nimoy(Spock) 藤田まこと(中村主水) ただ、これは、絵の1ドットを1文字で置き換えているだけなので芸がないと言われれば、その通りと返すしかありません。 前から作ろうと思っていたのですが、今回引き金になったのは、朝日新聞に載ってたこの記事です。 ここ 注意していただきたいのは、フローチャートも設計仕様もなく、思いつきで作っているので、仕様がコロコロ変ります。 文字の濃淡を評価する 文字は使う人が決めたいでしょう、多分。家族の名前や住所の漢字を織り込んでみたいというのが普通でしょう。「・」「/」「+」「-」は必須として..... 複雑な形の面積を求めるのに升目を描いて数を数え、中途半端な全部の数÷2で求める小学校の時の方法。漢字1個の濃淡を占める面積に対する黒の比率で表す。48ポイント以上あれば、「麒麟」のような字もそこそこ妥当な数値を出すのではないでしょうか? まずは、こんなFormを用意しましょうEdit1 調べたい漢字入力、Edit2 結果出力、Image1 漢字記入用、Button1 作業用ボタン。 ところで、48ポイントの全角文字が占める縦横はどうして計るのか?(ここまで2009/11/23) var x,y integer; begin Image1.Canvas.Font.Name ='MS ゴシック'; Image1.Canvas.Font.Size =60; y =Image1.Canvas.TextHeight('問'); x =Image1.Canvas.TextWidth('問'); Edit2.Text =IntToStr(x)+' '+IntToStr(y) end; こんな風にButton1にでも記述してボタンをクリックすれば結果が表示されます。Font Sizeをいろいろ変更してみてください。 このままButton1に入れておかないで、Form Create時に実行してグローバル変数に格納しましょう。var moji_haba integer;を先頭の方に記述して、それにさっきの実験でx=yだったので、どっちか1つ確認すればOK。 procedure TForm1.FormCreate(Sender TObject); begin Image1.Canvas.Font.Name ='MS ゴシック'; Image1.Canvas.Font.Size =60; moji_haba =Image1.Canvas.TextWidth('問'); end; では、今度はButton1に文字の占める面積に対する黒の比率を求めてみましょう。 procedure TForm1.Button1Click(Sender TObject); var x,y,n integer; begin Image1.Canvas.Font.Color =clBlack; Image1.Canvas.TextOut(0,0,Edit1.Text); n =0; for y =0 to moji_haba-1 do for x =0 to moji_haba-1 do if Image1.Canvas.Pixels[x,y]=clBlack then n =n+1; Edit2.Text =IntToStr(round(n/moji_haba/moji_haba*100))+'%'; end; 麒麟の字でもそれぞれ42%、44%.....半分未満です。(ここまで2009/11/24) 1つ1つ濃淡を調べて並べ替えるのは面倒なので、まずButton1の内容を汎用関数化します。 private { Private 宣言 } function noutan(kan string) integer; functionの1行を宣言部分に書き加えて、中身はほとんどそのまま。 function TForm1.noutan(kan string) integer; var x,y,n integer; begin Image1.Picture.Bitmap.PixelFormat =pf1bit; Image1.Canvas.Font.Color =clBlack; Image1.Canvas.TextOut(0,0,kan); n =0; for y =0 to moji_haba-1 do for x =0 to moji_haba-1 do if Image1.Canvas.Pixels[x,y]=clBlack then n =n+1; noutan =round(n/moji_haba/moji_haba*100); end; で、Button1は以下のように書けばOKです。 procedure TForm1.Button1Click(Sender TObject); begin Edit2.Text =IntToStr(noutan(Edit1.Text))+'%'; end; ここまでやったら、また、同じように作動しているか確かめてみましょう。そしたら、次に進みましょう。 これをグローバルの定数として追加し、連続して濃淡を算出してみましょう。(ここまで2009/11/27) って書いたんですが、 const data=' ・一卜了十乙公以中占五卒沢労安串咲欧詰森夷伽鉗蠻庵諭躡鬱籠蠢麟原'; Cmax=31; var kanji array[0..100] of string; BW array[0..100] of integer; moji_haba integer; グローバルの定数・変数として上記のように設定します。moji_habaなんて、いきなり使っていて、説明をわすれてました。 Cmaxは、0から31までの32段階表示です。kanjiは漢字を入れる配列、BWは、濃淡度を入れる配列です。 起動時の設定で、整数の変数xを追加して、漢字データを配列に格納します。 for x =0 to length(data) div 2-1 do kanji[x] =copy(data,x*2+1,2); Memo1を追加しましょう。その上でButton1の内容は、 procedure TForm1.Button1Click(Sender TObject); var i,j,n,l integer; k string; begin l =length(data) div 2-1; for i =0 to l do begin k =kanji[i]; BW[i] =noutan(k); Memo1.Lines.Add(IntToStr(i+1)+' '+k+','+IntToStr(BW[i])+'%'); end; end; これで、実行すれば、漢字と濃淡度が順番にでます。 ついでに並べ替えてみましょう。良くある総当たり戦方式です。Button1に追加です。さらに、もう一度表示させて並べ替えを確認しましょう。 for i =0 to l-1 do {この行から並べ替え} begin for j =i to l do if BW[i] BW[j] then begin k =kanji[i]; kanji[i] =kanji[j]; kanji[j] =k; n =BW[i]; BW[i] =BW[j]; BW[j] =n; end; end; for i =0 to l do {再度表示} begin k =kanji[i]; BW[i] =noutan(k); Memo1.Lines.Add(IntToStr(i+1)+' '+k+','+IntToStr(BW[i])+'%'); end; 漢字の濃淡度出して並べ替えたら、一度試してみたくなるのが人間の心理です。 基本的にはRGBの平均値を求めるのですが、正確に言うと色の三原色は、それぞれの値が255でも同じ明るさにはなりません。B255が最も暗く、次にR255、次がG255ではなく、B255+R255つまりマゼンダがG255より暗いのです。気になる人は、PSPなどのグラフィックツールで先にBW画像に直しておきましょう。 右は明度、左は8bitの頃のカラー番号です。三原色の番号に注目してください。1+2=3、つまり、青+赤=マゼンダ 1+4=5、つまり、青+緑=水色 2+4=6、つまり、赤+緑=黄色 うまくできています。 Button1の内容は、起動時に実行するようにすればOKなんですが、ま、実験の繰り返しなので、Button2を用意して、test.bmpなる横幅120くらいの画像を用意しましょう。 procedure TForm1.Button2Click(Sender TObject); var x,y integer; n,g longint; dam string; begin Memo1.Lines.Clear; Image1.Picture.LoadFromFile('test.bmp'); for y =0 to Image1.Height-1 do begin dam =''; for x =0 to Image1.Width-1 do begin n =Image1.Canvas.Pixels[x,y]; g =n div $10000; n =N mod $10000; g =((g+(n div $100)+(n mod $100)) div 3) div 8; dam =dam+kanji[Cmax-g]; end; Memo1.Lines.Add(dam); end; Memo1.Lines.SaveToFile('test.csv'); end; 中ほどの長い行ですが、8で割っているのは、濃淡32段階表示のため、256÷32の結果です。 もちろん、ファイル名選択の部分を作ってもいいし、その辺はご自由にどうぞ。暴れん坊将軍 桑畑三十郎(用心棒の劇中自称) Milla Jovovichでサイズテスト 上記最後のサイズテストの実験で、長辺60文字位で作れれば、工夫の度合いが見れるかもしれません。否、失敗がわかるかもしれません。 ここまでの状態で、横幅120前後の画像で遊んでみてください。(ここまで2009/11/29)ProgramDown loadは、更新のため下の方を探してください。 さて、これから..... 1画素1文字対応ならこれで終わりになりますが....前述のMilla=Jovovichのもので長辺121のものだと、目の星が見えるが91では、見えないが、歯が見えているのはまだ分かるが、61になると歯もよくわからない状態である。長辺61に設定して、漢字一文字を4区画に分けて、濃度の偏りを調べて適用すれば、長辺121並の画質ににはならないだろうか? 画数の多いものはそんな文字を探してセットにするのは簡単だが、画数の少ないものになると、記号なども使うことになるだろうし、それでも発見できるか分からない。国構え門構えは線のカクカクが目立つので使わない。濃度から言えば、40段階表示が限界かもしれない。 こんな感じで分類して、kanjiの配列を2次元化しましょう。 kanji array[0..100] of string;.....となってたのを kanji array[0..400,0..8] of string; として、同じ濃度のそれぞれ番号順に配列に格納して下準備をしましょう。そのためには、これまで作った部分も大幅に変更が必要になりますね.....また、濃淡を算出しても、人間の目で見て国構えが濃く見えるように、文字が大きいと、必ずしも数値どおりには見えないこともあるので、ある程度自動処理して漢字セットを作るのは、自分で好きな漢字を入れて作りましょう。 そんな訳で、Formの空いているところにStringGridを1個追加しましょう。(ここまで2009/11/30)と思ったんですが、やっぱりやめて.......また、別のことを思いつきました。 同じ文字が整然と並んでいるところができてしまうので、これを乱数で選び出すようにしてはどうかと思い、Button3を一時的に追加し、Edit1か2を入力装置にしてMemo1に濃度別に出力、つまり、文字の濃淡を片っ端から調べようというわけです。 procedure TForm1.Button3Click(Sender TObject); var i,l,n integer; dam,K_data string; const F_name='濃淡.txt'; begin if FileExists(F_name)=false then begin Memo1.Lines.Clear; for i =0 to 60 do Memo1.Lines.Add(IntToStr(i)+','); Memo1.Lines.SaveToFile(F_name); end; //------------------------------- Edit2.SelectAll; Edit2.PasteFromClipboard; Memo1.Lines.LoadFromFile(F_name); K_data =Edit2.Text; l =length(K_data) div 2; for i =0 to l do begin dam =copy(K_data,i*2+1,2); n =noutan(dam); Memo1.Lines[n] =Memo1.Lines[n]+dam; end; Memo1.Lines.SaveToFile(F_name); end; 1bit Color表示の100ポイントで調べています。そして、調査の結果、スペースや記号を含む第1水準漢字で0-45%、部首を含む第2水準で、7-48%、双方とも47%なく、0-46段階の表示で、実験してみようかと思います。加えて、同じ濃淡の漢字を複数の候補から乱数で選び出す.....ちょっと時間がかかるかもしれません。つまり、初期設定から作り直すことにしましょう。 こんな感じになります。(2009/12/2) 明朝は別に調べましたが、40%未満になります。 これを使って構成してみることになります。ただし、使う文字の種類が増えると、PDFのサイズも鰻登りになります。 function bunri(dat,c,f string) string; var p,l,cl integer; begin l =length(dat); p =pos(c,dat); cl =length(c)-1; if f='-' then bunri =copy(dat,1,p-1); if f='+' then bunri =copy(dat,p+1+cl,l-p-cl); end; この関数は、特定の最初にあるc文字の前か後ろを取り出すものです。さらに、 var kanji array[0..100,0..8] of string; BW array[0..100] of integer; moji_haba, Cmax integer; グローバルの定数はなくして、変数に変えて、 function PixToKan(P_noutan,P_katayori integer) string; var l integer; dam string; begin l =length(kanji[P_noutan,P_katayori]); if l=2 then dam =kanji[P_noutan,P_katayori] else begin l =[[Random]](l div 2)*2+1; dam =copy(kanji[P_noutan,P_katayori],l,2); end; PixToKan =dam; end; P_katayoriは、今のところ0でしか使いませんが、こんな関数を作ります。濃度を与えられると、それにあわせた漢字を候補の中からランダムに選択して返します。 procedure TForm1.FormCreate(Sender TObject); var x integer; begin Memo1.Lines.Clear; Memo1.Lines.LoadFromFile('濃淡0.txt'); Cmax =Memo1.Lines.Count-1; for x =0 to Cmax do kanji[x,0] =bunri(Memo1.Lines[x],',','+'); Memo1.Lines.Clear; Randomize; end; 初期設定もこんなに変ります。濃淡0.txtのファイルは、サンプルでつけてあります。 procedure TForm1.Button2Click(Sender TObject); var x,y integer; n,g longint; dam string; begin Memo1.Lines.Clear; Image1.Picture.LoadFromFile('test.bmp'); for y =0 to Image1.Height-1 do begin dam =''; for x =0 to Image1.Width-1 do begin n =Image1.Canvas.Pixels[x,y]; g =n div $10000; n =N mod $10000; g =round(((g+(n div $100)+(n mod $100)) div 3)/(256/cmax)); dam =dam+PixToKan(Cmax-g,0); end; Memo1.Lines.Add(dam); end; Memo1.Lines.SaveToFile('test.csv'); end; ここは、あまり変りませんね。Pixelsの平均値出す部分は後で、関数にして独立させましょう。Milla Jovovichでサンプル 東野英治郎(水戸黄門) ProgramDown loadは、更新のため下の方を探してください。 サンプル見ても分かるように、やっぱ、いろんな文字が混ざっているほうが滑らかに見えます。幅120前後の絵を使って遊んで見ましょう。(2009/12/3) 1文字を4区画に分けて評価します。とりあえず、削除してしまいましたが、起動時設定に次の3行を復活してみます。 Image1.Canvas.Font.Name ='MS ゴシック'; Image1.Canvas.Font.Size =100; moji_haba =Image1.Canvas.TextWidth('問'); 4つの区分で濃淡を評価する関数を作り、とりあえず、8桁数字で返すことにします。最終的には、偏り分類の番号で返す予定ですが.... function TForm1.noutan4(kan string) integer; function Q_noutan(x1,y1,hen integer) integer; var x,y,n integer; begin n =0; for y =y1 to y1+hen-1 do for x =x1 to x1+hen-1 do if Image1.Canvas.Pixels[x,y]=clBlack then n =n+1; Q_noutan =round(n/hen/hen*100); end; var Han_Haba integer; begin Image1.Picture.Bitmap.PixelFormat =pf1bit; Image1.Canvas.Font.Color =clBlack; Image1.Canvas.TextOut(0,0,kan); Han_Haba =Moji_haba div 2; noutan4 =Q_noutan(0,0,Han_Haba)*1000000+Q_noutan(Han_Haba,0,Han_Haba)*10000 +Q_noutan(0,Han_Haba,Han_Haba)*100+ Q_noutan(Han_Haba,Han_Haba,Han_Haba); end; 関数の定義の中にもう1つ入っています。ローカル関数と呼びます。Qは、1/4からの頭文字。USS-1701発進の時のエンジン出力は通常の1/4です。ま、そんなこんなで、最初の実験のように、1文字入れては、結果を見るんですが、見た目ほど偏りがないことがわかりました。たとえば、私の姓の旧字体「澤」なんかも思ったほどではなく、左右で10%、上下の上下差は、順に6.5%、14%、上下とも全体では17%になっています。 訐が極端に左上に濃いのですが、ほとんどは、微妙なところです。上のように画数が少なければ偏り指数も5%あればいいほうではないかとなります。 そんなことで、偏り指数は、全体の濃度の関数で表すようにしてみます。最後は、人間の目で見て編集することは必要になると思います。また、カナ単位や括弧も有効な材料になってきます。 偏りの判断は、後に画像の時にも使うことを想定して、4つの区画の数字を入力して、0-8のタイプを返すグローバル関数にします。 偏りの判定基準も変更しました。 function Katayori(n1,n2,n3,n4,nt integer) integer; var nt_s,K_type,sa12,sa34 integer; begin nt_s =round(nt*3*(1-nt/7/cmax)) div 2; { 偏り指数 } K_type =0; sa12 =((n1+n3)-(n2+n4))*3; if abs(sa12) nt_s then sa12 =0; if sa12 0 then K_type =1; if sa12 0 then K_type =2; sa34 =((n1+n2)-(n3+n4))*3; if abs(sa34) nt_s then sa34 =0; if abs(sa12) abs(sa34) then begin if sa34 0 then K_type =3; if sa34 0 then K_type =4; sa12 =sa34; end; sa34 =(n1*3-(n2+n3+n4))*2; if abs(sa34) nt_s then sa34 =0; if abs(sa12) abs(sa34) then begin if sa34 0 then K_type =5; if sa34 0 then K_type =8; sa12 =sa34; end; sa34 =(n2*3-(n1+n3+n4))*2; if abs(sa34) nt_s then sa34 =0; if abs(sa12) abs(sa34) then begin if sa34 0 then K_type =6; if sa34 0 then K_type =7; sa12 =sa34; end; sa34 =(n3*3-(n1+n2+n4))*2; if abs(sa34) nt_s then sa34 =0; if abs(sa12) abs(sa34) then begin if sa34 0 then K_type =7; if sa34 0 then K_type =6; sa12 =sa34; end; sa34 =(n4*3-(n1+n2+n3))*2; if abs(sa34) nt_s then sa34 =0; if abs(sa12) abs(sa34) then begin if sa34 0 then K_type =8; if sa34 0 then K_type =5; sa12 =sa34; { =コンパイルしたら、この行は、いらないって...} end; Katayori =K_type; end; 我ながら非合理的と感心dするできばえの悪さ.....{ 偏り指数 }の数値を調整しながら、分類の具合を確かめます。 noutan4 =Katayori(Q_noutan(0,0,Han_Haba) ,Q_noutan(Han_Haba,0,Han_Haba) ,Q_noutan(0,Han_Haba,Han_Haba) ,Q_noutan(Han_Haba,Han_Haba,Han_Haba),noutan(kan)); //-------------------以下はチェック用 Memo1.Lines.Add(IntToStr(Q_noutan(0,0,Han_Haba))+' ' +IntToStr(Q_noutan(Han_Haba,0,Han_Haba))); Memo1.Lines.Add(IntToStr(Q_noutan(0,Han_Haba,Han_Haba))+' ' +IntToStr(Q_noutan(Han_Haba,Han_Haba,Han_Haba))); 関数noutan4の戻り値を偏りの型番号に変えて、Memo1に具体的な数値を入れてチェックしてみます。 いらないButtonにEdit1に入力された漢字を計算してEdit2に偏り型を表示します。最初の漢字の濃淡度と似たようなものなので自分でプログラムしてもらうことにして、2倍3倍は何かと思うでしょうが、偏りをより正確に出すため、1区画あたりの平均ではなく、いくつかの場合の最小公倍数で比較しているだけです。(2009/12/5) さて、昨日と打って変わってよい天気、元上司の3回忌で知人とお墓参りに行って来ました。昨日までのところで、漢字の偏りを算出して分類して、私の目で、多少修正して、元になる使用漢字リストを作成しました。どうしても該当がないところは、適当なもので代用するか、半角文字2個あわせて作るかになります。リストは修正しやすいようにCSVファイルにしました。使用漢字リストの形式を変更したので、起動時の設定も書き換えることになります。 Memo1.Lines.LoadFromFile('MSG.csv'); Cmax =Memo1.Lines.Count-1; for x =0 to Cmax do begin dam =bunri(Memo1.Lines[x],',','+'); for y =0 to 7 do begin kanji[x,y] =bunri(dam,',','-'); dam =bunri(dam,',','+'); end; kanji[x,8] =dam; end; MSゴシックようの1,2水準の漢字の濃度と型分類表もExcelファイルで準備。では、まず、RGB平均値算出を独立関数にします。 function Gray(n longint) integer; var g integer; begin g =n div $10000; n =N mod $10000; g =(g+(n div $100)+(n mod $100)) div 3; Gray =g; end; ま、これは、そんなでもないんですが、とりあえず、Button5を追加して、まず、4画素を1漢字で表現するプログラムを作りましょう。基本的な部分は、Button2の記述と一緒なので.... procedure TForm1.Button5Click(Sender TObject); var x,y,xx,yy,ImgX,ImgY, Gr1,Gr2,Gr3,Gr4,GrT integer; g longint; dam string; begin Memo1.Lines.Clear; Image1.Picture.LoadFromFile('test2.bmp'); ImgX =Image1.Width div 2; ImgY =Image1.Height div 2; for yy =0 to ImgY-1 do begin dam =''; for xx =0 to ImgX-1 do begin x =xx*2; y =yy*2; Gr1 =Gray(Image1.Canvas.Pixels[x,y]); Gr2 =Gray(Image1.Canvas.Pixels[x+1,y]); Gr3 =Gray(Image1.Canvas.Pixels[x,y+1]); Gr4 =Gray(Image1.Canvas.Pixels[x+1,y+1]); GrT =Katayori(Gr1,Gr2,Gr3,Gr4,(Gr1+Gr2+Gr3+Gr4) div 4); g =round((Gr1+Gr2+Gr3+Gr4)*Cmax/256/4); dam =dam+PixToKan(Cmax-g,GrT); end; Memo1.Lines.Add(dam); end; Memo1.Lines.SaveToFile('Test2.txt'); end; って感じですが、全くだめ、そんなはずはないと拡大してみると、偏りが逆になっています。黒の度合いで文字を分類した時の偏り計算なので、暗いほど数字が大きくなりますが、色は、暗いほど数字が小さくなるので、 GrT =Katayori(256-Gr1,256-Gr2,256-Gr3,256-Gr4,256-((Gr1+Gr2+Gr3+Gr4) div 4)); と直して再度実験。実験にはラムちゃんを使ってみました。最初に、2x2=4倍の画素のもの。これが元の絵。 MS-Paintでサイズを半分にしたもの、MS-Paintでは、Full Colorで縮めると隣り合わせの色との平均を取ったりします。 元のサイズの画像で、1つ飛ばしで漢字に置き換えたもの。これは、問題外。 2x2=4画素の平均値で漢字に置き換えたもの。 偏り判定をしたものということで、数の赤い線のあたりを比較してみると、偏り判定の効果が出ています。 #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (katayori3.JPG)PDF file #ref error :画像を取得できませんでした。しばらく時間を置いてから再度お試しください。 再びMilla Jovovich(PDF)で、長辺60文字でテスト、目の星は無理だったが歯が見える! これで、色の偏り判定部分ができた。歯だけではなく目の周りや頬のラインなどなめらかになっている。ま、うまくできた方ではないかと思います。(2009/12/6)どっちのファイルもAdobe Readerの「表示(V)」の「ページレイアウト(L)」の「単一ページ(S)」にしてページを進めたり戻したりすると、出来栄えの具合が比較しやすくなります。 ProgramDown loadは、更新のため下の方を探してください。 多少のインターフェイスをくっつけて、今この辺の作業状況。使えるのは、ファイルの選択と概観を見る部分だけです。(2009/12/7) たくさん実験してみて理想的な文字数を探ってみました。プログラムも一部変更して、右下文字数と署名を入れてみました。この辺が文字も見えるし、細かさもそこそこ、実際には、何を置き換えるかによって密度を変える必要があるのですが..... Lum(フランスのコスプレだったかな) Natalie Portman Natalie Portman Audrey Hepburn 大きな画像への対応 さてこれからの作業は、大きなBitMap Fileを一気に漢字に置き換えるための関数を作ります。基本的には2x2=4ドットの時と似た様なものです。画像上の開始位置と一区画になるなる単位の1辺のドット数の3つから漢字1個を特定する関数にします。 入れ子になっている関数は1区画をさらに4つに分けた区画のBW平均値を求める関数です。 function TForm1.Kukaku(x,y,d integer) string; function _kukaku(xl1,xl2,yl1,yl2 integer) integer; var ix1,iy1,n1 integer; Ttl Longint; begin n1 =0; Ttl =0; for ix1 =xl1 to xl2 do for iy1 =yl1 to yl2 do begin n1 =n1+1; Ttl =Ttl+Gray(Image1.Canvas.Pixels[ix1,iy1]); end; _kukaku =Ttl div n1; end; var md,x2,x3,x4,y2,y3,y4, g,Gr1,Gr2,Gr3,Gr4,GrT integer; begin {x- x2, x3,x4} md =d div 2; {y- y2 1 2 } x2 =x+md-1; x3 =x+md; x4 =x+d-1; {y3-.y4 3 4 } y2 =y+md-1; y3 =y+md; y4 =y+d-1; Gr1 =_kukaku(x,x2,y,y2); Gr2 =_kukaku(x3,x4,y,y2); Gr3 =_kukaku(x,x2,y3,y4); Gr4 =_kukaku(x3,x4,y3,y4); GrT =Katayori(256-Gr1,256-Gr2,256-Gr3,256-Gr4,256-((Gr1+Gr2+Gr3+Gr4) div 4)); g =round((Gr1+Gr2+Gr3+Gr4)*Cmax/256/4); Kukaku =PixToKan(Cmax-g,GrT); end; ためしにButtonに組み込んでみましょう。 procedure TForm1.Button9Click(Sender TObject); const k=4; var x,y,xx,yy,ImgX,ImgY integer; dam string; begin Memo1.Lines.Clear; Image1.Picture.LoadFromFile(Edit2.Text); ImgX =Image1.Width div k; ImgY =Image1.Height div k; for yy =0 to ImgY-1 do begin dam =''; for xx =0 to ImgX-1 do begin x =xx*k; y =yy*k; dam =dam+Kukaku(x,y,k); end; Memo1.Lines.Add(dam); end; shomei(ImgX,ImgY); Memo1.Lines.SaveToFile(F_Ext(Edit2.Text,'txt')); end; kは、定数よりもSpinEditから3以上の数値を取得する変数にした方が楽ですね。 まずは、実験してみましょう。Audrey Hepburn(638x712dotの画像から生成したもの) Kodzue Ayuhara(246x360dotの画像から生成したもの) ま、こんなところでしょうか。(2009/12/12) 800x600のDeskTopを変換してみました。アイコンの様子が厳しいものです。基本的には、風景は向きません。 7年ぶりの印刷プログラム! そもそも、私は、中途半端なプログラムしか作ってないので、印刷ルーチンを記述したのは、勤務表作成支援ソフトの時以来です。久しぶりなので、ちょっと不安。前回は、10年ほど前に一旦印刷部分を記述したんですが、何も印刷しない問題に出くわして中断して完成したのが7年前のこと。原因は、8bit時代からの習慣で、黒地に白字のwindowsの基本設定だったためです。Delphiでは、printer canvasのデフォルトは、白地にwindowsの基本文字色を字色とします。白地に白字を印刷した訳ですから.....何も出ませんでした。 基本的には、Printer.Canvasに情報を書き込み、実機械に送れば出てきます。出来具合を確かめるのに、Image.Canvasに書き込んで確かめるのと両方を1つの手続きで済ませます。 procedure TForm1.kijutu(Tcan TCanvas; Pwidth,Pheight longint); TcanというTCanvas変数を設定して、Pwidth,Pheight(PはPaper)で書き込む用紙のサイズを入れると、全部自動調整で印刷する方法です。 kijutu(Image1.Canvas, Image1.Width, Image1.Height); これで、Image1を保存すれば、画像ファイルの完成。 kijutu(Printer.Canvas, Printer.PageWidth, Printer.PageHeight); これで、印刷用画質のものが完成です。後は、kijutuの中身やら、印刷用紙の向きなどの設定です。(2009/12/13) そんな訳で、UsesのところにPrintersを書き加えます。Unit Fileの空行とばして3つめです。これで、Printerに関する部分を書き始めます。 ここで問題点をいくつか......(1) 私は、PDF printer driverを使っていますが、Imageとの間に大きな差があります。PDFに限らず、Printerは、出力すると、データは、お掃除されますが、Imageは、残っていますので、次のを書き込んでも隙間から、前のが見えたりします。かといって、全部真っ白に塗りなおした場合、PDFでは、一旦白い背景を描いてから、背景の上に漢字を表示するので、もたつきます。 (2) Font.Sizeは整数なので、微妙な画素数の調整ができません。そこで、画素数を単位とした文字サイズとして、Font.Heightにします。均等幅のMSゴシックは縦横同じなので.....9.5ポイントなんてFont.Sizeでは、できません。 (3) 印刷機にセットされている用紙のサイズと向き(縦長か横長か)を知る方法。先に書きましたがPrinter.PageWidth Printer.PageHeight、これを使う前に、向きを決めなければなりません。Printer.Orientationで、値はpoLandscape(風景画つまり、横長)と、poPortrait(肖像画つまり、縦長)のどちらかを代入します。 procedure TForm1.kijutu(Tcan TCanvas; Pwidth,Pheight longint; Prn boolean); (1)の解決としてPrnで区別することにします。(2009/12/14)booleanとは、論理の真偽のことです。 (2)の問題はローカル関数を作って、kijutu内部で算出することにします。Font.Sizeは用紙のサイズで決まりますが、Font.Heightは、用紙に対して与えられた、ドット数で計算してくれます。つまり、私が1年前まで使っていた20年超過の24ピンドットインパクトプリンターは、B5短編に40文字程度ですから、40x24=960ドットです。dpi換算すると...B5短編が約180mm÷25.4mm=7.1インチで、960÷7.1=135、つまり135dpiになります。いまのプリンターは仕様書によると横方向9600dpiになってました。 function fitChrSize(haba integer) integer; const s='問'; begin TCan.Font.Height =1; with Tcan do begin if TextHeight(s) haba then repeat font.Height =font.Height+1; until haba TextHeight(s); fitChrSize =font.Height-1; end; end; (3)は後回しにして.... const yohaku_hi=0.023809524; { 5/210 A4の短編 縁取り5mm } var yohaku_X, yohaku_Y, moji_X, moji_Y, inji_X, inji_Y, // 余白 文字数 印字区域(x,y)長 ix,iy, xx,yy, Pmoji_haba integer; //変数 座標 縁取りは{ }内の注意書きの通りです。比率で記入しておきます。constはいきなり5/210でもOK。 begin if Prn=False then begin TCan.Brush.Color =clWhite; TCan.Pen.Color =clWhite; TCan.Rectangle(0,0,Pwidth-1,Pheight-1); end; TCan.Font.Name =Memo1.Font.Name; moji_X =length(Memo1.Lines[0]) div 2; moji_Y =Memo1.Lines.Count; // 余白計算 if Pwidth Pheight then begin yohaku_X =round(Pwidth*yohaku_hi); yohaku_Y =yohaku_X; end else begin yohaku_Y =round(Pheight*yohaku_hi); yohaku_X =yohaku_Y; end; inji_X =Pwidth-yohaku_X*2; inji_Y =Pheight-yohaku_Y*2; // 文字幅計算 if ((moji_X/moji_Y) (inji_X/inji_Y)) then Pmoji_haba =inji_Y div moji_Y else Pmoji_haba =inji_X div moji_X; // 余白 再調整 yohaku_X =(Pwidth -moji_X*Pmoji_haba) div 2; yohaku_Y =(Pheight-moji_Y*Pmoji_haba) div 2; TCan.Font.Height =fitChrSize(Pmoji_haba); TCan.Font.Color =0; // canvasに書き込み for iy =0 to moji_Y-1 do begin for ix =0 to moji_X-1 do begin xx =ix*Pmoji_haba+yohaku_X; yy =iy*Pmoji_haba+yohaku_Y; TCan.TextOut(xx,yy, copy(Memo1.Lines[iy],ix*2+1,2)); end; end; end; 全て比率で計算していますので、たとえば、複合機に接続されていて、A3で印刷するとか、建築設計事務所にあるようなA2に印刷するとかの時には、多分、選ばれている紙のサイズに合わせて、自動的に調整されるはずです。ずれが生じないように、1文字ずつ位置を確定して書き込みます。そして、出来上がったら、とりあえず、むやみな印刷は、反エコなので、Image Objectに記述してみましょう。 そしたら、適当にボタンでも貼り付けて、 var num integer; begin Image3.Stretch =False; Im3_By =0; if Memo1.Lines.Count 0 then with Image3 do begin Width =640*2; Height =480*2; if Memo1.Lines.Count length(Memo1.Lines[0]) div 2 then begin num =Width; Width =Height; Height =num; end; kijutu(Canvas, Width, Height, False); end; end; 2つめのif以下で縦横を入れ替えているのは、もとの絵にあわせて縦長か横長を決めています。 適当に保存のボタンでもつけて画像として保存しました。半分に縮めたものです。(2009/12/16) さて、印刷機にデータを送るには、念のため、確認もつけまして、 begin if MessageDlg('印刷しますか?', mtConfirmation, mbOKCancel, 0) = id_OK then begin if Memo1.Lines.Count length(Memo1.Lines[0]) div 2 then Printer.Orientation = poLandscape else Printer.Orientation = poPortrait; try with Printer do begin Title =Edit2.Text; BeginDoc; kijutu(canvas,PageWidth,PageHeight, True); EndDoc; end; finally end; end; end; 2つ目のif文が、横長、縦長の判断です。とりあえず、このへんまでが主なルーチンの記述で、後は、ファイルの読み込みをどうするか。 書き出しのときの、ファイル名をどうするか。 Text Fileを保存するのかしないのか。Memo objectに書き出しているので1行があまり大きいとエラーを起こす。 iniファイルをつくるか。 RGBの正確な比率計算。 漢字の濃淡偏りの検証(kkは意外にType0だった)。 こんな問題点をプログラムしていくことにになります。 ここまでの部分で、自動的に中央配置縁取り調整終わって....この手の面白さは、文字を見る距離30cmでは分からないが、1m以上離れると見えてくる肖像画がたのしいですね。(2009/12/17) Jpegを読み書きできるようにしたら、妙に重くなりました。Memory 512Mbyte CPU Penthouse1GHzだと、使っているうちに動かなくなってしまいます。最近Mem 1Gbyte標準装備なので...ま....私のは、Mem 2Gbyte CPU 2.8GHzなので軽々動いています。 RGBについては、もう少し正確に出すなら、それぞれの成分に次の比をかけて計算(左)すると単純に足して÷3よりは、ましでしょう。Delphi2005プログラミングテクニックVol.9(2500円)の単純に足しての「モノクロ変換」(右)よりはましです。結構高い本なので、正確に算出する方法を例示してほしいものです。B 35% R 85% G 180% 下位からRGBだったかな..... #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (Color.jpg)(2009/12/18) 効果ありますね。元の画像の色合いにもよるんでしょうが、東野英治郎さん眉が見やすくなり、目の周りのカクカクが減少しました。(2009/12/20) #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (Else02.jpg)先発のというか、英語圏のソフトと出来栄えを比較しました。プログラムの出来栄えというよりは、漢字1文字の画数による濃淡の深さと字の豊富さから、同じ濃淡度合いの漢字を複数の候補からいくつも使えることが圧倒的に優位です。 テキストに編集をつけましたが、とてもドンくさいプログラムなので、やはり、先にGraphic Toolで作りたい範囲を調整したほうが楽です。ドン亀機能です。配置を変えたりしました。(2009/12/27) あんまり概観できない画像ページをやめて、テキスト状態で概観できるようにしました(2010/01/10) 根性で変換しました。 2010/2/21 2010/2/28 プログラム本体と付属のファイル 前回掲載 2009/12/21, 2009/12/23, 2009/12/27 最新進行状況 ProgramDown Loadです。(2010/01/10) 注意:一度作ったTextデータから印刷できるようにしたので、わざわざサイズのでかいPDFで保存する必要はなくってます。 使い方は以下の通り、システムは私が良く使う方法で、1つのフォルダー内であれこれ済ませる構造になっています。解凍したら、デスクトップにでも適当な名前のフォルダーを作って、そこにプログラム本体と付属の「MSGなんたら.dll」3個を入れます。 ファイルの説明MSG.dll 実験用に作った、かなり少ない第2水準を含む文字セットです。MSG.dllをコピペして、好きなファイル名にして起動し、設定からそのファイルを選んでください。その後一緒にはいているエクセルファイルの文字セットを使って編集して好きな漢字セットを作ってください。 MSG-J.dll 難しい漢字ばかりでは、学校で遊べませんので、小学校6年間で習う漢字+英数+ギリシャ文字セット。 MSG-M.dll 小学校版+中学3年までに習う文字セット。設定のページから選択してください。 起動前準備作りたい絵の元ファイル、JpegかBmpを同じフォルダーに入れます。元絵はそのまま変更しませんので、あとで元のフォルダーに戻してください。 プログラム本体を起動します。 初回起動設定のページに移動、文字セットを選択、その他設定を選択し更新する。 使い方と各機能 設定使用する漢字セット:前項ファイルの説明を参照。読めない漢字がいっぱいでは、面白くないので、それなりに選択ください。 文字データの保存:このソフトは、画像として保存することを目的としていません。印刷を目的としたものなので、文字データから、プリンターにあった画質で印刷する機能をつけてあります。そのため、一度変換した文字データを残すか残さないかを選択できます。画像で残しておくよりは、文字データで残すほうがコンパクトです。 文字数の自動調整:横文字数x縦文字数をプログラムがエラーを起こさない範囲に調整します。自動調整しない時には、横500文字以下にしてください。 Ascii変換リストから直したい絵を選んで、横約300以下、長辺約500以下になる様に数字を調整します。 字と分かるのは、短辺約70文字以下です。だまし絵的なものは、60*45あたりです。1のときは、元絵の1画素が1漢字になります。4なら4x4=16画素で1漢字になります。 文字数の調整をしない設定の場合、横文字数は500以下にしないと、エラーを発生します。データは作れますが印刷ができません。全角512あたりで改行されます。この回避にはHDDに直接ファイルを書込むようにしますが、文字が読めないのでは意味がないし、このページの先頭にあるサンプルのようにほとんど白黒画像になってしまいますので、またの機会にしましょう。 自動調整をしている場合は、およその文字数の上限と下限が自動的に設定されます。 変換をクリックで文字化します。自動的に文字データのページにに切り替わります。この時、設定で文字データを保存にしていると、テキストデータとして自動的に保存します。 文字データFontの選択肢は、1,3,6,12ポイントの4種類だけです。概観できます。 [更新]ボタンは、上のリストの更新です。 [戻る]ボタンは画像選択のページに戻ります。 [保存]ボタンで、印刷がもったいない方は保存してください。印刷を目的に作っているので低機能です。 印刷をクリックでデフォルトのプリンターに印刷します。 右の文字データの枠内で右クリックメニューがあります。ドン亀な編集機能です。 上または下の何行かがいらない時には、普通に編集してください。 左5文字要らないときには、どこか1行だけ(絶対に1行だけ)5-6文字めの間で改行して「後残す」を選択します。 同様に「前残す」で右の要らない部分を削除できます。 保存は、できた文字データをファイル名+2桁数字で自動的に保存します。 また、文字データからもファイル選択で印刷できます。画像化したものを印刷するわけではなく、文字情報から、印刷用のものをその都度作成するので、保存した画像を印刷するよりは、プログラムの印刷機能を使うほうが、きれいに印刷できます。 画像-文字情報のまま概観できるので、この機能ページは削除しました。画像の保存機能は残してあります。 漢字分類文字セットの編集は、半角文字は必ず2個セットで使ってください。細かいエラーチェックはしていません。 例えば、おめでたくない漢字を消したい時は、「漢字を入力する場所」を空にしておいて、上の、既にセットになっている漢字の欄から消したい字を削除して、「追加」ボタンをクリックしてください。 プログラムの判定した偏り型が今一の時があります。偏り型の絵をクリックすると、その偏り型に変更できます。その後に「追加」ボタンをクリックしてください。 時々、また最後に「保存」ボタンをクリックするすることで、編集中の漢字セットが更新されます。 Page Top Top Page 工事中
https://w.atwiki.jp/api_programming/pages/186.html
https //api.toodledo.com/3/contexts/index.php 概要 コンテクストとはGTDでよく用いられる概念。どの状況でどのタスクをするべきなのか、という考え方。例えば、'work', 'home', 'shopping' などがよく用いられるコンテクストである。 Jump To Retrieving Contexts Adding Contexts Editing Contexts Deleting Contexts Errors コンテクストの同期 Syncing contexts is fairly straight forward. The first thing to do is add any new contexts you have created and delete any contexts that you have deleted. Then, look at the "lastedit_context" timestamp returned from Account Info to determine if any changes have happened on the server since the last time you synced. If yes, then you need to fetch the contexts from the server and integrate this into your local copy. This is where you would do conflict resolution if a context was edited in both places. After this, if you have any contexts that you edited, you can send these edits up to the server. Sync Flowchart コンテクストの取得 contexts/get.php GET or POST. 使っているコンテクストのリストが返ってくる名前とID番号が入っている http //api.toodledo.com/3/contexts/get.php?access_token=yourtoken This call will return a JSON encoded object that looks like this. response id 123 name Work private 0 [{"id" 123,"name" "Work","private" 0},{"id" 456,"name" "Home","private" 1},{"id" 789,"name" "Car","private" 0}] You can also specify xml as the output format for any API calls by attaching "f=xml" to the URL. http //api.toodledo.com/3/contexts/get.php?access_token=yourtoken f=xml contexts context id 123 /id name Work /name private 0 /private /context context id 456 /id name Home /name private 1 /private /context context id 789 /id name Car /name private 0 /private /context /contexts Adding Contexts Add a context using the "contexts/add.php" API call. You can access this via POST. Context names must be unique within an account. If you try to add a context that already exists, you'll get an error. Each user can have up to 1000 contexts. If you try to add more than this, you will get an error. name A text string up to 32 characters. (required) private A boolean value (0 or 1) that describes if this context can be shared. A value of 1 means that this context is private. http //api.toodledo.com/3/contexts/add.php name=MyContext access_token=yourtoken If the add was successful the new context will be returned. [{"id" 12345,"name" "MyContext","private" 0}] contexts context id 12345 /id name MyContext /name private 0 /private /context /contexts Editing Contexts Edit a context using the "contexts/edit.php" API call. You can access this via POST. Context names must be unique within an account. If you try to edit the context name to one that already exists, you will get an error. If you try to edit the context, but pass in the same values that already exist on the server, you will get an error. You should avoid making unnecessary edits. id The id number of the context to edit. (required) name A text string up to 32 characters. (required) private A boolean value (0 or 1) that describes if this context can be shared. A value of 1 means that this context is private. http //api.toodledo.com/3/contexts/edit.php id=12345 name=MyContext access_token=yourtoken If the edit was successful the edited context will be returned. [{"id" 12345,"name" "MyContext","private" 0}] contexts context id 12345 /id name MyContext /name private 0 /private /context /contexts Deleting Contexts The "contexts/delete.php" API call will allow you to permanently delete a context. You can access this via POST. Any tasks that have this context will have their context set to "none". id The id number of the context to delete. (required) http //api.toodledo.com/3/contexts/delete.php id=12345 access_token=yourtoken If the delete was successful you will get the following message. {"deleted" 12345} deleted 12345 /deleted Error Codes Any of the API calls can return error messages. Here is a list of the error messages that you may receive from the contexts API endpoints. If there was an error when editing or deleting a context, the id number that you attempted to edit will be included in the error's "ref" field for your reference. 301 Your context must have a name. 302 A context with that name already exists. 303 Max contexts reached (1000). 304 Empty id. 305 Invalid context. 306 Nothing was edited. Examples {"errorCode" 302,"errorDesc" "A context with that name already exists","ref" 1234} error id="302" ref="1234" A context with that name already exists /error Privacy · Terms · Copyright Toodledo © 2004-2016
https://w.atwiki.jp/taskerwiki/pages/18.html
Application アプリを指定し、そのアプリが起動した時にタスクを実行する。 終了時の命令も可能。 Time 時間を指定し、その時刻にタスクを実行する。 終了時刻の命令も可能。 Day 日付や曜日を指定し、その日付や曜日にタスクを実行する。 終了の日付や曜日も設定可能。 Location 場所や地域、座標を指定し、その位置に端末がある場合にタスクを実行する。 終了のエリアも設定可能。 State 状態。つまり端末の状態を条件にタスクを実行する。 端末状態 日本語訳 Airplane Mode 機内モード Battery Level 電池残量 Bluetooth Connected ブルートゥース接続 Calendar Entry カレンダーへの記載 Cell Near 電波塔の位置(ロケーションにも似ている) Docked 車などのドックに接続 Headset Plugged ヘッドセットとの接続(イヤホン等も) Incoming Call 着信時 Keyboard Out 物理キーボード Light Level 明るさセンサーでのレベル Media Button 物理キー押下 Missed Call 不在着信 Mobile Network モバイルデータ通信 Orientation 端末のモーションセンサー Power 電源 Proximity Sensor 近接センサー Signal Strength 電話無線の電波強度 Unread Text パラメータに一致するSMS、MMS USB Plugged USBへの接続 Variable Value 変数値 Wifi Connected Wifiへの接続 Wifi Near 指定のWifiアクセスポイント Event イベント。なんらかのイベントが発生した場合。 カテゴリ 日本語訳 イベント内容 Date/Time 日時 Alarm Clock Alarm Done Date Set Time/Date Set Timezone Set Display 画面 Display off Display on Display Unlocked File ファイル File Attribute Change File Closed File Deleted File Modified File Moved File Opened Hardware ハードウェア Button Camera Button Long Search Card Mounted Card Removed Card UnMounted Misc その他 Gesture Phone 電話 Missed Call Phone Idle Phone Offhook Phone Ringing Received Text SMS Failure SMS Success Power 電源 Battery Changed Battery Full Battery Overheating System システム Device Boot Device Shutdown Device Storage Low Locale Changed New Package Package Removed Package Updated Wallpaper Changed UI ユーザーインターフェイス Button Widget Clicked New Window Notification Notification Click Zoom Click Variable 変数 Variable Cleared Variable Set 3rd Party 第三者ソフト Gentle Alarm K9 Email Received Kaloer Clock OpenWatch Pomodroido Radardroid Reddit Notify Screebl Widget Locker
https://w.atwiki.jp/cod4mod/pages/44.html
Clipping Textures Clip is a texture that is applied to a brush that can be used to block a player or NPC (Non Playable Character) or to add collision to a static model. クリップはプレーヤーあるいは NPC (ノンプレイヤーキャラクタ)を遮ることか、あるいは静的モデルにコリジョンを加えるために使われることができるブラシに適用されるテクスチャです。 Blocking [clip] Clip is a transparent surface that is used to block the player and NPC's in game. Clip does not have bullet collision, so you are able to shoot through it. if the player or NPC is to walk on the surface of clip, no sound will be made. So don't use it where a player can walk on it. Clip はプレーヤーを遮るために使われる透過的サーフェスです、そして NPC はゲームにいます。クリップが弾丸コリジョンを持っていません、それで、もしプレーヤーであるなら、あなたはそれを通して撃つことが可能です、あるいは NPC はクリップのサーフェスの上を歩くはずです、音が立てられないでしょう。それでプレーヤーがそれの上を歩けるところにそれを使わないでください。 [clip_full] This will block players and NPC's. Does not give off a sound if player walks on surface. これはプレーヤーを遮るでしょう、そして NPC の。もしプレーヤーがサーフェスの上を歩くなら、音を発しません。 [clip_monster] This is clip that will block NPC's, but not the player. This is used in Singleplayer. これはプレーヤーではなく、 NPC のを遮るであろうクリップです。これはシングルプレイヤーで使われます。 [clip_player] This clip is used to block only the player. Does not effect NPC's このクリップは阻止のみ、プレーヤー、に慣れています。NPC のをもたらしません [clipweap] This clip will stop bullets and grenades but will not block players or NPC's このクリップは銃弾と手りゅう弾を止めますが、阻止プレーヤーあるいは NPC のではなく可能にするでしょう [clip_missile] This is clip used to block a projectile like a grenade, but will not block bullets. It also will not block a player or NPC. これは手りゅう弾のような砲弾をふさぐために使われるクリップです、しかし銃弾をブロックしないでしょう。それは同じくプレーヤーあるいは NPC を遮らないでしょう。 [clip_shot_block] Materials [clip_metal] This clip (transparent) will react to bullets or grenades when hit. It will give the effect of impacting metal. It will not block the player or NPC's 瞬断であるとき、この切り抜き(透過的)は銃弾あるいは手りゅう弾に反応するでしょう。それはメタルに影響を与える効果を与えるでしょう。それはプレーヤーあるいは NPC のを阻止しないでしょう [clip_vehicle] Clipping that is only effective to vehicles 車両にただ効果的に過ぎないクリッピング [clipfoliage] This clip does two things. One, it blocks the view of NPC's. They are not able to see through foliage clip. This was large bushes can be used as concealment. このクリップは2つのことをします。1つ、それは NPC のビューを妨げます。それらは葉クリップを通して見ることが可能ではありません。これは大きい低木でした、キャンが隠匿として使用されます。 [clip_snow] No sight [clip_nosight] This texture will block the player and NPC's. No sight means that in Singleplayer the NPC's will not be able to see through the clip. No sight clip is used if you have a model that would be used as cover. Such as a tree or wooden fence. When the player walks on the surface of clip_nosight it will make a wood sound. So if your object you are clipping is made of wood, you would use this clip. このテクスチャはプレーヤーと NPC を遮るでしょう。光景がシングルプレイヤー、 NPC 、のにおけるそれがクリップを通して見ることが可能ではないであろうことを意味しません。もしあなたがカバーとして使用されるであろうモデルを持っているなら、視力クリップが使われません。木あるいは木のフェンスのように。プレーヤーが clip_nosight のサーフェスの上を歩くとき、それは木の音を立てるでしょう。それでもしあなたが切っているあなたのオブジェクトが木から作られているなら、あなたはこのクリップを使うでしょう。 [clip_nosight_metal] This texture will block the player and NPC's. No sight means that in Singleplayer the NPC's will not be able to see through the clip. clip_nosight_metal is used if you have a model or object that is constructed of metal. Such as a barrel, vehicle, etc. When the player walks on the surface of clip_nosight_metal it will make a metal sound. So if your object you are clipping is made of metal, you would use this clip このテクスチャはプレーヤーと NPC のを阻止するでしょう。光景がシングルプレイヤーで NPC のが clip. を通して、もしあなたがメタルのモデルあるいは作られるオブジェクトを持っているなら、 clip_nosight_metal が使われるのを見ることが可能ではないであろうことを意味しません。1バレル、車両、などのように。プレーヤーが clip_nosight_metal のサーフェスの上を歩くとき、それはメタルの音を立てるでしょう。それでもしあなたが切っているあなたのオブジェクトがメタルから作られているなら、あなたはこのクリップを使うでしょう [clip_nosight_dirt] This texture will block the player and NPC's. No sight means that in Singleplayer the NPC's will not be able to see through the clip. When the player walks on the surface of clip_nosight_dirt it will make a dirt ground sound. So if your clipping an area that would be ground, this texture is used. このテクスチャはプレーヤーと NPC を遮るでしょう。光景がシングルプレイヤー、 NPC 、のにおけるそれがクリップを通して見ることが可能ではないであろうことを意味しません。プレーヤーが clip_nosight_dirt のサーフェスの上を歩くとき、それは荒れ地の音を立てるでしょう。それでもしあなたのクリッピングであるなら、地上、このテクスチャであろう区域が使われます。 [clip_nosight_rock] This texture will block the player and NPC's. No sight means that in Singleplayer the NPC's will not be able to see through the clip. When the player walks on the surface of clip_nosight_rock it will make a sound as if walking on a rock/stone surface. So if your clipping an area that would be make of rock, this texture is used. このテクスチャはプレーヤーと NPC を遮るでしょう。光景がシングルプレイヤー、 NPC 、のにおけるそれがクリップを通して見ることが可能ではないであろうことを意味しません。プレーヤーが clip_nosight_rock のサーフェスの上を歩くとき、岩 / ストーンサーフェスの上に歩行であるかのように、それは音を立てるでしょう。それでもしあなたのクリッピングであるなら、この感触の岩の型であろう区域が使われます。 Its other use is that if the player walks through the clip it will make a rustling sound as if the player was walking through a bush. Generally this is applied to a brush and the brush covers large bushes and the leaf areas of trees. その他の使用は、もしプレーヤーがクリップを通して歩くなら、プレーヤーが低木を通してウォーキングであるかのように、それがサラサラと音をたてている音を立てるであろうということです。一般にこれはブラシに適用されます、そしてブラシは大きい低木と木の葉エリアを覆います。 Water [clip_water] This texture is applied on a brush that would be placed in the area of water. Placing water in your level will only display bullet impacts. Filling the water area with a brush with this texture will create the water effect when a grenade is thrown in the body of water and explodes. First the effect of the grenade splashing, then the effect of water shooting up from the explosion. If this texture is not used, the grenade will just use the effect of the ground underneath. このテクスチャは水のエリアにおける置かれるであろうブラシの上に応用されます。あなたのレベルにおける水を置くことはただ弾丸影響を見せるだけでしょう。手りゅう弾が水のボディーに投げ入れられて、そして爆発するとき、注入、このテクスチャを持っているブラシを持った水区域、が水結果を作るでしょう。最初、はねている手りゅう弾の効果、それから爆発から上がっての水シュートの効果。もしこのテクスチャが使われないなら、手りゅう弾はただ下に地面の効果を使うでしょう。 [clip_water_player] This texture will create the sound of walking in water when the player walks on the clipped surface. This clip must to be on the same plane of the ground to work properly. Example You have a small creek. Make a duplicate of the creek bottom terrain patch. Apply the water_clip_player texture to the terrain and place it directly on top of the terrain you made a copy from. プレーヤーがクリップサーフェスの上を歩くとき、このテクスチャは水におけるウォーキングの音を作るでしょう。適切に働くために地面の同じ面にいるためのこのクリップ不可欠。例:あなたは小さい小川を持っています。小川の複写を下部地形のパッチにしてください。地形に water_clip_player テクスチャを用いて、そしてあなたがコピーを作った地形の頂上に直接それを置いてください。 Editing Textures These Textures are used in the editor for building purposes. これらのテクスチャは建築目的のためのエディタで使われます。 [caulk] Applied to faces of brush that would not be visible to the player. Caulk is to be used as your default texture. If you are only texturing one side of a six sided brush, you need to have caulk applied to the other five faces. This tells the engine not to draw the surface. This will also reduce the polygon count. Caulk is also used as a blocker when used for portaling プレーヤーに目に見えはしないであろうブラシのフェースを適用しました。Caulk はあなたのデフォルトテクスチャとして使用されるはずです。もしあなたがただ6つの側にあられるブラシの側面1つの手触りを作り込むことだけをしているなら、 caulk を持っているあなた必要性は他の5つのフェースに申し込みました。これはエンジンにサーフェスを描かないように言います。これは同じくポリゴン総数を減らすでしょう。portaling するために使われるとき、 Caulk は同じく blocker として使用されます [caulk_shadow] This caulk is used to block light. Caulk itself will not light. Example would be that if you have a roof of a building that is caulked to save polygons because the player would not see it, but sunlight in entering an interior, then caulk_shadow is applied to block the sun light. Really only use this if a lighting problem exists. この caulk は光阻止に慣れています。Caulk 自身が照らさないでしょう。例は、もし、プレーヤーが、内部に入ることにおいて、それ、しかし直射日光を見ないであろうから、あなたがセーブポリゴンに caulked される建物の屋根を持っているなら、 caulk_shadow が光に閉そく、太陽、に適用されるということでしょう。もしライティング問題が存在するなら、本当にただこれを使ってください。 [[Lighting]] [light_portal] This texture is used to block the bounding box of a primary light. Example would be that if you had two rooms connected by a doorway. One room had a primary light. The primary lights bounding box was able to continue into the next room because it entered through the doorway. The result would be that the models in the other room where being lite by the primary light. Using a section of terrain you can apply the texture to the terrain and place it in the doorway. In result it will stop the primary lights bounding box insuring only the models in the lite room have the correct lighting. The terrain surface with the texture applied needs to be facing inside the room with the primary light. このテクスチャは阻止、光プライマリの境界ボックス、に慣れています。もしあなたが2部屋が出入り口によって結ばれるようにしたなら、例はそれでしょう。1つの部屋がプライマリを光であるようにしました。境界ボックスがそれが出入り口を通して入ったから次の部屋の中に続けることが可能であったプライマリライト。結果はプライマリまでに軽い場合はを他の部屋におけるモデルが火がつくということでしょう。地形の部分を使ってあなたキャンは地形にテクスチャを用いて、そしてそれを出入り口に置きます。それがプライマリライトがボックスを保証することのみと境界を引くのを止めるであろうという結果で軽い部屋におけるモデルは正しいライティングを持っています。テクスチャを持っている地形サーフェスは、プライマリが光であるという状態で、内部に部屋に直面しているために必要性を適用しました。 [lightgrid_sky] Applying this texture to a brush will collect the light grid information. This would be used for lighting the area in the sky that a plane or helicopter would fly. Doesn't always have to be used. Usually when you run VC_Logging and have the vehicles set to collect the dots, the vehicles do all the work for you automaticlly. However if the pattern is not aways the same, such as a Multiplayer Helicopter, then you would use this in the area the helicopter would fly. このテクスチャをブラシに適用することは光グリッド情報を集めるでしょう。これは面あるいはヘリコプターが上空を飛ぶであろう空におけるエリアを照らすために使われるでしょう。常に使われなくてもよいです。通常あなたが走るとき VC_Logging して、そして車両が点を集めるように設定されるようにしてください、車両は automaticlly にあなたのためのすべての仕事をします。しかしながら、もしパターンがマルチプレ-ヤーヘリコプターのような、同じように aways ではないなら、あなたはヘリコプターが上空を飛ぶであろうエリアにおけるこれを使うでしょう。 [lightgrid_volume] This is for VC_Logging your level. In previous versions of Call of Duty, you would have to make a .grid file by manually running through your level collecting the lighting dots. Applying this texture to a brush and having the brush placed in the area that the player can access, the compiler will eat up the information for you. You can still do it manually if you wish. これはあなたのレベルを VC_Logging するためです。Call of Duty の前バージョンで、あなたは、手作業でライティング点を集めてあなたのレベルを通して走ることによって、 .grid ファイルを作らなければならないでしょう。このテクスチャをブラシに適用することと、ブラシを持っていることはあなたのための情報をプレーヤーキャンアクセス、コンパイラが上に飲むであろうエリアに置きました。もしあなたが望むなら、あなたキャンは手作業でまだそれをします。 [shadow] This texture apllied to a brush will block light ブラシに apllied するこのテクスチャは光に遮るでしょう Lightmaps [lightmap_grey] Default lightmap texture デフォルト光源マップテクスチャ The following are used in cases when one lightmap carries over the lightmap information to another lightmap causing a lighting error. Applying these will separate the lightmap making it unique. [lightmap_blue] Used in cases that if one lightmap was carrying over the lightmap information to another lightmap causing a lighting error. Applying this would separate the lightmap making it unique. もし1つの光源マップがもう1つのライティングエラーを起こしている光源マップに光源マップ情報を移行していたなら、ケースでそれを使いました。これを応用することはそれをユニークにする光源マップを引き離すでしょう [lightmap_cyan] Used in cases that if one lightmap was carrying over the lightmap information to another lightmap causing a lighting error. Applying this would separate the lightmap making it unique. もし1つの光源マップがもう1つのライティングエラーを起こしている光源マップに光源マップ情報を移行していたなら、ケースでそれを使いました。これを応用することはそれをユニークにする光源マップを引き離すでしょう。 [lightmap_green] Used in cases that if one lightmap was carrying over the lightmap information to another lightmap causing a lighting error. Applying this would separate the lightmap making it unique. もし1つの光源マップがもう1つのライティングエラーを起こしている光源マップに光源マップ情報を移行していたなら、ケースでそれを使いました。これを応用することはそれをユニークにする光源マップを引き離すでしょう。 [lightmap_purple] Used in cases that if one lightmap was carrying over the lightmap information to another lightmap causing a lighting error. Applying this would separate the lightmap making it unique. もし1つの光源マップがもう1つのライティングエラーを起こしている光源マップに光源マップ情報を移行していたなら、ケースでそれを使いました。これを応用することはそれをユニークにする光源マップを引き離すでしょう。 [lightmap_red] Used in cases that if one lightmap was carrying over the lightmap information to another lightmap causing a lighting error. Applying this would separate the lightmap making it unique. もし1つの光源マップがもう1つのライティングエラーを起こしている光源マップに光源マップ情報を移行していたなら、ケースでそれを使いました。これを応用することはそれをユニークにする光源マップを引き離すでしょう。 [lightmap_yellow] Used in cases that if one lightmap was carrying over the lightmap information to another lightmap causing a lighting error. Applying this would separate the lightmap making it unique. もし1つの光源マップがもう1つのライティングエラーを起こしている光源マップに光源マップ情報を移行していたなら、ケースでそれを使いました。これを応用することはそれをユニークにする光源マップを引き離すでしょう。 Portaling [portal] This is applied to the surface of a brush to create a portal surface これは入り口サーフェスを作るためにブラシのサーフェスに適用されます [portal_nodraw] Applied to the surfaces of a portal brush that is not used. 使われない入り口ブラシの表面に適用されます。 [portal_debug_solid] The compiler applies this texture to portals in the map file when you are using -portal_debug あなたが使用 - portal_debug であるとき、コンパイラはこのテクスチャをマップファイルにおける入り口に適用します [portal_debug_trans] The compiler applies this texture to portals when you are using -portal_debug あなたが使用 - portal_debug であるとき、コンパイラはこのテクスチャを入り口に適用します No draw [nodraw] Applying this texture to sides of a brush will have the applied side invisible and non solid. Usually used when only one side of a brush is need in game, such as a fence texture applied to one side. このテクスチャをブラシの側面に適用することは見えない適用された側面と非ソリッドを持つでしょう。通常、ブラシの側面必要性はだけただ1つにおけるとき、使われて、フェンステクスチャのような、ゲームが1つに側面を用いました。 [nodraw_decal] When using brushes to place decals on geometry, the unused side will have this texture apllied 使用がデカールをジオメトリの上に置くためにブラシをかけるとき、使われていない側面はこのテクスチャが apllied するようにするでしょう [nodraw_notsolid] Applying this texture to sides of a brush will have the applied side invisible and non solid. Usually used when only one side of a brush is need in game, such as a fence texture applied to one side. このテクスチャをブラシの側面に適用することは見えない適用された側面と非ソリッドを持つでしょう。通常、ブラシの側面必要性はだけただ1つにおけるとき、使われて、フェンステクスチャのような、ゲームが1つに側面を用いました。 [nodraw_glass] Smoothing [smoothing_hard] Used in smoothing groups and surface needs to have a hard edge 堅い稜線を持っているためにグループとサーフェス必要性を順調に進めるのに使われます [smoothing_smooth] Used in smoothing groups and surface need to have a smooth edge 滑らかな稜線を持っているためにグループとサーフェス必要性をきれいに整えるのに使われます Trigger Textures There are many different textures available to apply to triggers. These textures function is only to display in the editor for the Designer to identify what the triggers function is. そこに多くの異なったテクスチャがトリガーに当てはまるためにアクセス可能ですか。ファンクションがただエディタにおける表示部に設計者のためのこれらのテクスチャはトリガーファンクションが何であるかについて明らかにします。 [Trigger] Default texture applied to a brush trigger. When a trigger is created this texture will automaticlly be applied. ブラシトリガーに適用されたデフォルトテクスチャ。トリガーが作られるとき、このテクスチャは automaticlly に応用されるでしょう。 [aitrig] Applied to a trigger brush. This is to help the designer to identify which triggers would be activated by a NPC (Non Playable Character) トリガーブラシに適用されます。これは設計者がどのトリガーがNPC(ノンプレイヤーキャラクタ)によって作動させられるであろうかについて明らかにするのを助けるはずです [ambient] [autosave] This is used in Singleplayer. Its only use is visual to the designer to identify that the trigger is used for autosave. これはシングルプレイヤーで使われます。その唯一の使用はオートセーブのためのトリガーが使われることを見いだす設計者への視覚です。 [bcs] Applied to a trigger to have the designer identify that the trigger is used for the Battle Chatter System. 設計者がトリガーが Battle Chatter System のために使われることを見いだすようにするためにトリガーに適用する. [flag] [friendly_respawn] Applied to a brush trigger to identify the trigger is set to respawn friendly NPC リスポーンフレンドリー NPC をトリガーが設定される確認するべきブラシトリガーに適用しました [goal_volume] Commonly applied to a brush that is set to keep the NPC's in a controlled area. 一般にブラシに適用されて、それは制御されたエリアにおける NPC のを引き留めるように設定されます。 [kill] Applied to a brush trigger that is set to kill the player 設定されるブラシトリガーにキル、プレーヤー、に適用されます [mine] Applied to a brush trigger that is set to kill the player by stepping on a mine. 地雷の上に踏み上がることによって、設定されるブラシトリガーにキル、プレーヤー、に適用されます。 [spawn_trigger] Applied to a trigger to identify that the trigger will spawn an entity トリガーがスポーンにエンティティを可能にすることを見いだすためにトリガーに適用されます [stopspawn] Applied to a trigger to identify that the trigger will turn off a spawn トリガーがスポーンを消すであろうことを見いだすためにトリガーに適用されます [trigger_damage] Applied to a brush trigger to identity the trigger is set to damage. ブラシトリガーにトリガーが損傷を与えるように設定される同一性に適用されます。 [trigger_hint] [trigger_vision] [return_ai_trigger] [return_spawner_trigger] [safe_area] [vehicle_trigger] [vehiclegate] [volume] Fuctionable textures These textures can be applied to a brush and will function in game これらのテクスチャはゲームにおけるブラシと意志ファンクションに応用され得ます [ladder] Applying this texture to a brush will allow the player to use a ladder. If you have constructed a ladder, place a brush covering the ladder with the ladder texture and when the play comes in contact with the brush he will be able to climb up or down the ladder. このテクスチャをブラシに適用することはプレーヤーがはしごを使うことを可能にするでしょう。もしあなたがはしごを作ったなら、はしごをはしごテクスチャで覆ってブラシを置いてください、そうすればプレーがブラシとの接触で起きるとき、彼ははしごを登るか、あるいは下ることが可能でしょう。 [mantle_on] Applying this texture to a brush will allow the player to climb on top of a surface. このテクスチャをブラシに適用することはサーフェスの頂上に上昇にプレーヤーを許すでしょう。 [mantle_over] Applying this texture to a brush will allow the player to climb over a surface without being able to stop on top of it. Use for surfaces that should be too thin or weak for a player to stand on. このテクスチャをブラシに適用することはそれの上にstopに有能ではないでサーフェスの上に上昇にプレーヤーを許すでしょう。 プレーヤーが立つにはあまりにも薄いか、あるいは弱くあるべきであるサーフェスの用途。 Miscellaneous [aa_default] This is the default texture that is loaded when radiant is started up. It has no function, so it should not be used. これは、明るいとき、ロードされるデフォルトテクスチャが始められるということです。それはファンクションを持ちません、それでそれは使われるべきではありません。 Obsolete textures These are textures that were once had a function but no longer are used on CoD4Radiant これらは1回がファンクションを持っていたということであったテクスチャです、しかしもう CoD4Radiant の上に使われません Textures not yet categorized (WIP) [auto_adjust] [fog] [indoor_outdoor] [mortar_off] [mortar_on] [origin] [physics_geometry] [region] [skip] [smoke] [transparent] [traverse] [unlock] (Original "http //www.infinityward.com/wiki/index.php?title=Tool_Textures") 名前 すべて読む
https://w.atwiki.jp/anddoid/pages/2.html
メニュー トップページ プラグイン紹介 まとめサイト作成支援ツール メニュー メニュー2 anddoid @ ウィキとは レイアウト系 LinearLayout FrameLayout RelativeLayout TableLayout widget系 TextView EditText Button CheckBox RadioGroup RatingBar TimePicker DatePicker Chronometer AnalogClock DigitalClock manifest系 manifest uses-sdk application activity intent-filter action category Animation系 alpha rotate scale translate set 要素 android id android gravity android orientation android hint android background android visibility android autoLink android inputType android imeOptions android capitalize android text android textColor android textSize android textStyle android typeface android layout_width android layout_height android layout_weight android layout_gravity android layout_margin android layout_marginLeft android layout_marginTop android layout_marginRight android layout_marginBottom android padding android paddingLeft android paddingTop android paddingRight android paddingBottom ここを編集
https://w.atwiki.jp/twitter_neta/pages/181.html
140字で紹介 むかしむかしTwitterに、人より少し変わった発想ができるだけの、普通の若者のアカウントがありました。あるとき何の気なしに呟いた文章がとても広がっていき、若者はたくさんの反応をもらいました。若者は思いました。「こういう『ネタ』を考えるは楽しい」と。ここにネタ書きが生まれました。 それから若者はネタを書くようになりました。言葉を捻り、話題を探して、時に作り話も書きました。そうして若者のフォロワーは増え、ある程度有名になりました。若者はうれしく思いました。ここで変化が起きました。人々は人間ではなくネタに興味があって、若者をフォローするようになっていたのです。 「今なにしてる?」を呟くTwitterに、日常のことを呟くとフォロワーが減る、そんな状況になりました。若者は戸惑いましたが、「万人受けを目指す方が馬鹿げている」と考えました。若者は、この時点で、受けを意識して呟くことから逃れられなくなりました。呟く意味は変わり果ててしまいました。 一方、ネタも発信するがネタ以外の呟きで有名になった、元普通のアカウントもありました。それらはアカウントの人間性を維持しながら、むしろ情報や日常の発信をTwitterに限らず行って、またそのようなアカウント同士の繋がりも強く持っていました。若者はこういう人もいるんだと見ていました。 若者は、そのアカウントたちが自分よりも規模の大きいことに驚きました。またそれらのアカウントの、お世辞にもよく練られたと言えない呟き、又はただの挨拶が広がるのを見ました。若者は色々な感情を抱きました。羨ましさもあれば、疑問に近いものも抱きました。そして若者はあることに気付きました。 それは「ある種彼らも自分のようにコンテンツとして成立している」ということでした。そこで若者はサブ垢を作りました。コンテンツではない形でのTwitterの活動を取り戻そうとしたかったのです。それはしばらくは順調でしたが、ある時言われた言葉に、若者は衝撃を受けることになります。そう、 「サブ垢の方が面白いね」……サブ垢では肩の力が抜けていたのかな、と若者は考えましたが、結局頑張って練っていたネタは、ハードルを下げて至近距離のターゲットを撃ち抜いていたのに過ぎなかったのです。若者は目を覚ますチャンスでしたが、ひどく落胆してしまいました。そして悲劇は終わりません。 「ネタクラスタ」――。いつからか、そんなカテゴリに一緒くたにされるようになりました。でも元来、ストイックにネタを書く層はその中にいなかったのです。そして絡みを主とした「ネタクラスタ」の住人たちは次第に飽きて、連鎖的にアカウントを消したり、Twitterからいなくなったりしました。 若者に残されたのは「ネタクラスタはオワコン」という無関係極まりない評価とカテゴライズです。剰え、呟きを丸パクりする層が現れました。彼らは数が多い上に、反応するとマジレスしたこちらが悪いかのように振る舞い、若者には手が負えなくなりました。そして若者はひとつの答えにたどり着きました。 その答えは「Twitterはネタを書くには不向きである」ということでした。リアルタイム性、個人性に重きが置かれる場所で、特定のタイプのネタだけが評価される場所で、マイナス因子の多い場所で、コンテンツになるのは悪手であると、自分がコンテンツ化していると、若者はようやく気づきました。 皮肉にもそれは一緒くたにされた「ネタクラスタはオワコン」という説と同じ結論にたどり着きました。若者のキーボードを打つ手が止まりました。今さら大多数の人や自分が見てきた人のTwitterの使い方をするのは癪だったのです。そして、若者はTwitter以外にネタを書く場所を探しました。 ネタを書く意欲は保ち、かつ無記名なのに功名心が満たされる、または記名性なのに公平に評価の俎上に置かれる、そんな都合のいい場所はどこにもありませんでした。同時に、Twitterをやめることもできませんでした。若者は誓います。「ならば変えてやろう、同じ考えの層は必ずいるはずだ」と……
https://w.atwiki.jp/dr_twister/pages/12.html
【名】口実、名目、言い訳、もっともらしい理屈、弁解、かこつけ He used some pretext to start the fight. 彼はけんかを始める口実を使った。 【他動】~を口実にする 【@】プロテクスト、【変化】《動》pretexts | pretexting | pretexted、【分節】pre・text