• ベストアンサー

文字の上下反転処理

CやC++ に限った質問では無いのですが、申し訳ありません。 ■質問 各プログラミング言語からの汎用利用が出来る文字ベースの将棋の駒のデータを作成したいのですが、最も目的に合った良い方法はないでしょうか? ■例 将棋で使われる「歩」などの略称の一文字の上下反転を行うアルゴリズム若しくは反転済みのデータなど。 ■必須要件 プラットフォームは固定でも良いが、利用言語に依存しない技術を使いデータが独立した形で少なくとも2つ以上のプログラム言語から利用できる。 元になる技術の著作権の問題など余り考えずに、再配布出来る。 ■開発環境など ・開発OS:クライアント=WINDOWS-XP サーバー=Linux ・開発言語:現段階では不特定で未定(なるべく簡単な言語)。 ・作り方:言語依存の低い各種API、DLL、PHPなどの既存するデータや技術の流用か自作 ・駒データの利用形態:P2Pや中央サーバ型でクライアント側またはサーバ側または双方での利用。 ■現在素人発想で考えている事 自作フォントで作成できないか? win-APIなどで文字反転処理できないか? 既成のPHPプログラムなど探してWEB上で実装できないか? ■お願い 考えている事をやればよいじゃないかと思われるかもしれませんが。 技術的に可能か不可能かも解らず実装後の問題、利用時における長所 短所も解らず。もっと良い処理もあるかもなどと思い。 漠然と、何から手をつけて良いかわからず悩んでいる状態ですのでご考慮お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.4

>将棋の駒 後手側の駒表示をしたいということなら 正確には上下反転ではなく、180度回転だと思います。 >win-APIなどで文字反転処理できないか? WinAPIのCreateFontで回転角度を指定できるので、そのフォントを使って 回転した文字の描画をする事は可能です。 ただ画像データを作りたいだけなら、 Windows標準でついている「ペイント」を起動して文字で例えば「歩」を入力して 180度回転させればお望みのデータは作成できると思います。 ※画像として2次配布する場合、フォントには版権があるのでフリーの(2次配布可能な)フォントを使うなどしてください。

akaginoyama
質問者

お礼

>WinAPIのCreateFontで回転角度を指定できるので、そのフォントを使って回転した文字の描画をする事は可能です。 ■sha-girlへ sha-girlさんの回答のWinAPIのCreateFontのような存在が あるとは思わなかったので。 1番求めていた事はこのAPIで実現できそうな感じです。 ■回答協力いただいた皆さまへ ビットマップの書き換えがよいのか、その他既に公開されてある フリーの物があるのかなど模索したまま、わけのわからない質問 をしてしまったのですが、ハッキリとしない質問で 皆さんを混乱させてすみませんでした。 大変ありがとうございました。

その他の回答 (3)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

これ, なんとなく「誰かから頼まれたこと」のように見えるなぁ. #2 で指摘されてるように宿題かもしれんし, そうではないかもしれんけど. あっさりすべてのコマのデータを自力で作るのが最も安全な気がする. 特に「元になる技術の著作権の問題など余り考えずに、再配布出来る。」って条件を突っ込まれると, ねぇ.

  • arain
  • ベストアンサー率27% (292/1049)
回答No.2

「対面になるから、コマの向きを逆にしたい」ってことなのかな? >利用言語に依存しない技術を使い って時点で、ビットマップで反転も含めた全コマ作ればいいだけのことじゃないのかな? # なんか、宿題のようにも見えるな。

  • titokani
  • ベストアンサー率19% (341/1726)
回答No.1

「文字ベース」なのに「上下反転」というのがわかりません。 棋譜データを扱いたい(先手3六歩、後手1七角とか)なら、上下反転なんて関係ありませんし。 それとも、上下反転というからには、ビットマップデータが欲しいということでしょうか? それとも、駒を画面に表示するライブラリが欲しいということでしょうか? どうも目的がわかりません。補足願います。

関連するQ&A

  • .NET Frameworkでサーバ側の処理

    最近、マイクロソフトの.NET Frameworkを利用した、 リッチクライアントの実現(スマートクライアント) についてよく耳にするのですが、いまいちイメージがつかめないので質問させていただきます。 サーバ側にはビジネスロジックのみを実装し、 クライアント側ではユーザーインターフェイスのロジックのみを実装させることで、更新処理を効率化できるとあるのですが、 ・サーバ側で実装するビジネスロジックは、.NETの言語の で記述できるのですか? ・またクライアントから、どのようにしてサーバー側の  ロジックを呼び出すのでしょうか? 全くの初心者質問であるのですが、 なにか情報をお持ちでしたら ぜひ教えていただければと思います。 よろしくお願い致します。

  • XKP漢字処理技術について

    ここで質問していいのかわかりませんが。。。 XKP仕様で拡張漢字処理を行いたいのですが、 調べたのですが、どうしていいか分かりません。 XKPのHPには下記のXKP技術を利用した開発方法として   ・UDCサーバーAPIを呼び出す(C/C++言語等向き)   ・OLE Controlを利用する(Visual BASIC/VBA向き) の2方法あると書かれています。 当方では、両方とも試して開発したいのですが、 サンプルソース及びライブラリー、ヘッダ等がありません。(提供してくれるのでしょうか?) 全くの素人なので、抽象的な表現になってしまいすみません。 何か知ってることがあれば教えて頂きたいのですが。

  • Winsockの通信処理にてファイル転送方法?

    環境:Windows2000とUNIXサーバ 開発:VisualStadioVer6.0 言語:C言語 やりたいこと:    クライアントからサーバにファイル送信を行う。 ただし、FTP通信を使わないで、別ポートにて、Winsockの send等でFTPもどきのファイル送信を行いたい。 ソケット通信はデータ送信なのは知っているのですが、 どうしても実現したいので、知ってる方は教えてください。

  • PHPからリアルタイムにデータを受け取るには?

    PHPとMySQLをつかったウェブアプリケーションの開発に関する情報を収集しています。 クライアントソフトが数分間に一回、サーバーへ情報を取りに行く方法ではなく、以下の方法ができたら負荷が少なくていいかなと考えています。このような手法は可能でしょうか。 ・クライアントの発信元情報を、サーバー側のデータベースに記録しておく ・データベースが更新され、通知の必要が生じたら、先ほど記録されたクライアント情報の一覧を取得し、それらにデータを一斉送信 ・待機中のクライアントがデータを受け取り、情報が表示される。 クライアント側はブラウザだけではなく、Win32アプリケーションなどAPIの選択肢が幅広いアプリケーションも使えるものとします。もし技術的に無理なようであれば、無難に定期的にデータを取得しに行く方法を採用したいと思います。

    • ベストアンサー
    • PHP
  • 処理時間

    C言語でIPプログラム開発をしています。 socketをつくって他のクライアントとのデータグラムAPを作成しました。 そこでデータを送信し始めてから終わりまでにかかった時間とデータ量を計測できる関数またはサンプルプログラムはどこかございませんでしょうか? バックグランドはwindowsです。 宜しくお願いします。

  • Java(クライアント)とC言語(サーバ)間のソケット通信 文字列送受信の不具合

    サーバ側がC言語(Linux)、クライアント側がJavaのソケット通信プログラムを書いているのですが、いきなりつまづいてしまったため質問失礼します。 ソースとしては以下の2つのソースをテストとして利用させて頂きました。 ローカルネットワーク内の2台にそれぞれを設置し、それにあわせてIPとポートは変更してあります。 http://www.aihara.co.jp/~junt/program/socket/inet_server.c http://www.hellohiro.com/src/HelloWorldSocketClient.java クライアントのJavaプログラムから"Hello World"をサーバのCプログラムに送ると"Hello World"とは標準されるものの、出力された後ろに文字化けしたような文字が少し出てしまいました。加えて、直後にもう一度試してみようとサーバプログラムを立ち上げるとbindでエラーを吐いてしまいました。 recvの結果(rc)をprintfで確認してみたところ、13となり2文字多く送られていることを確認しました。 そこで、Javaのprintlnの自動改行周りが原因かと思いprintfに変えてた試してみました。 しかし、recvの結果は11となったものの文字化けと直後のbindエラーはなおりませんでした。(文字化けの種類が変わりましたが) この問題の原因と考えられることと解決案をアドバイス願えませんでしょうか。よろしくお願いします。 以下、開発環境です。 ■C言語 OS:Fedora 12 エディタ:一応VisualC++2008(Linux用に書いているので実質ただのテキストエディタ) コンパイラ:標準gcc ■Java OS:Windows XP SP3 エディタ・コンパイラ:eclipse ※実装先の都合上、winsockによるサーバに変えるや言語の変更はできません。

    • ベストアンサー
    • Java
  • オンラインゲームの設計

    個人的にオンラインゲームを開発しています。 すでにローカルでクライアントとサーバの間でデータの簡単なやり取りは出来ているのですが、 現在の設計でこれからの機能追加に耐えられるか不安に思っています。 そこでオンラインゲーム設計の定石について学びたいのですが、 そのような解説があるなWebページや書籍をご存知でしたら教えてください。 環境は今のところクライント、サーバともWindows XP、Java 6上で行っていますが、 パフォーマンスや配布しやすさを考慮して将来クライアントのみでもC++やD言語に 移植することも考えており、特定の言語やライブラリに深く依存しない解説が望ましいです。 マルチスレッドやソケットの使い方といったプログラミング基礎の部分の解説は不要ですが、 パケット構造の設計やサーバ/クライアント間のデータの同期、アカウントの管理、 遅延のごまかし方、負荷分散といったオンラインゲーム特有の内容を知りたいと思っています。

  • 画面上の文字認識ソフトについて

    画面上の文字認識ソフトについて 画面上に表示されている外貨通貨の数値をリアルタイムに取得したいと考えています。 もし既存のソフトウェアで、画面上の文字認識ができるソフトウェアがあるならば紹介して頂けないでしょうか。 また、もし既存のソフトウェアで該当するものが無いなら自作を考えているのですが、 文字認識・取得のノウハウについてまとめられているサイトや書籍があれば教えて頂きたいです。 特に言語は限定しません。より効率的に実現が可能である言語(または良いAPIがあるもの)を探しています。

  • fgetws関数で読み込んだUNICODE文字列の文字化け

    お世話になります。 UNICODE文字列について上手くいかない部分があったので質問します。 (1)ANSI文字コードのテキストファイルをfgetws関数で読み込む (2)読み込んだ文字列をID3DXFont::DrawTextWメソッドで描画 以上のことを行うと、1バイト文字(半角文字)はきちんと表示されるのに対し、2バイト文字は化けてしまいます。 きちんと表示されるようにするにはどうすれば良いでしょうか? 開発環境:Visual Studio 2005 C++ 開発言語:C/C++(Win32API)+DirectX9.0b ご存知の方がいましたら、よろしくお願いします。

  • Macを利用している企業でのサーバ等の扱い

     MacをクライアントPCとして利用している企業様では、ファイルサーバや基幹システムとの連携は、どのようにされているのでしょうか?。  当方、Macは20年くらい前に少し仕事上で扱っておりましたが、エミュレータを利用して、当時ホストマシンと呼ばれていたシステム開発をしていたくらいです。    ファイルサーバとなるとWindowsServerOSを思いつくのですが、Linuxであれば、Mac利用でも問題なく利用可能なのでしょうか?。    基幹システムも、Windows系かIBM系OSしか存じません。  インストールタイプのクライアント利用しか当方思いつかないので(元々制御系SEだったため)、また昨今ではクラウドモノも出ておりますことから、いち早くJavaなどOSに依存しない言語やクラウドやASPでのシステムを導入されているということになりますでしょうか?。    また、BIなどデータ統計を用いる場合、私は、Accessや現行基幹システムに付随しているメーカ提示の専用ツールを利用しておりますが、Macでもこれら可能なツールはあるのでしょうか?。

専門家に質問してみよう