JP4289032B2 - 画像処理装置および画像処理プログラム - Google Patents
画像処理装置および画像処理プログラム Download PDFInfo
- Publication number
- JP4289032B2 JP4289032B2 JP2003164814A JP2003164814A JP4289032B2 JP 4289032 B2 JP4289032 B2 JP 4289032B2 JP 2003164814 A JP2003164814 A JP 2003164814A JP 2003164814 A JP2003164814 A JP 2003164814A JP 4289032 B2 JP4289032 B2 JP 4289032B2
- Authority
- JP
- Japan
- Prior art keywords
- line
- pixel
- graphic
- graphic data
- coordinate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Generation (AREA)
- Editing Of Facsimile Originals (AREA)
Description
【発明の属する技術分野】
本発明は、ベクトル形式の図形データからビットマップ形式の図形データを得るための画像処理装置および画像処理プログラムに関する。
【0002】
【従来の技術】
近年、パーソナルコンピュータ等の普及に伴い、コンピュータ上で動作する文書作成アプリケーションプログラム(以下「文書作成AP」という)を用いて、図形(グラフィックス)、文字、自然画(イメージ)等が混在する文書を作成し、これをCRT(Cathode Ray Tube)等の表示装置やプリンタ等の印刷装置で画像出力する、といったことが広く行われている。このようなコンピュータの使用形態を実現する文書作成APは、自然画についてはラスター形式の図形データで、図形および文字についてはベクトル形式の図形データで、それぞれを表現することが一般的である。したがって、図形または文字について画像出力を行う場合には、ベクトル形式で表現された図形データの描画処理を行うことが必要となる。
【0003】
ベクトル形式で表現された図形データの描画処理には、例えば、図形の輪郭内をある色で塗り潰す処理と、図形の輪郭線をある幅で描画する処理とがある。ただし、これらの図形は仮想の実数空間における座標軸上に描画されるので、その図形について画像出力するためには、これをビットマップ形式の図形データとして表現可能なピクセル空間上の図形に座標変換しなければならない。このことから、ベクトル形式で表現された図形データの描画処理には、その図形データによって特定される図形を実数空間上に描画した後、その図形をピクセル空間上に座標変換する処理をも含むものとする。
【0004】
このような図形データの描画処理の手法一つとして、例えばハーフスキャンコンバージョン方式によるものが知られている(例えば、非特許文献1参照)。ここで、ハーフスキャンコンバージョン方式による描画処理について説明する。
【0005】
図6〜図8は、ハーフスキャンコンバージョン方式により矩形の輪郭内を塗り潰す場合の描画処理の説明図である。図6では、実数空間上に描画された矩形A、矩形B、矩形Cの位置を示している。図中において、矩形Aの左上座標は(1.0,1.0)、右下座標は(3.0,2.0)、矩形Bの左上座標は(3.0,1.0)、右下座標は(5.0,2.0)、矩形Cの左上座標は(1.0,2.0)、右下座標は(5.0,4.0)となっている。この実数空間上では、矩形Aの右辺のX座標と矩形Bの左辺のX座標は一致している。また、矩形Aと矩形Bの下辺のY座標と矩形Cの上辺のY座標は一致している。これに対して、図7は、矩形A、B、CのX,Y座標に、それぞれ「0.5」を加えた結果を示している。これにより、例えば矩形Aの左上座標は(1.0,1.0)から(1.5,1.5)に、右下座標は(3.0,2.0)から(3.5,2.5)に移動する。さらに、図8は、(b)における座標値を基に、矩形A、B、Cをそれぞれピクセル空間上で描画した結果を示している。例えば、矩形Aに対しては、ピクセル空間における座標軸上の(1,1)と(2,1)の位置にあるピクセルが選択されている。
【0006】
このような図6に示す矩形から図8に示す矩形への変換処理は、その変換対象となる矩形の左上と右下の座標に対して、以下のような演算処理を行うことで実現される。すなわち、左上座標に対しては、以下の(1)式および(2)式を用いた演算処理を行う。
Xlu'=floor(Xlu+0.5)・・・(1)
Ylu'=floor(Ylu+0.5)・・・(2)
また、右下座標に対しては、以下の(3)式および(4)式を用いた演算処理を行う。
XrB'=floor(XrB+0.5)−1・・・(3)
YrB'=floor(YrB+0.5)−1・・・(4)
ここで、(Xlu,Ylu)はハーフスキャンコンバージョンを施す前の矩形の左上座標、(Xlu',Ylu')はその座標値にハーフスキャンコンバージョンを施して得られるピクセル空間上での座標値である。また、(XrB,YrB)はハーフスキャンコンバージョンを施す前の矩形の右下座標、(XrB',YrB')はその座標値にハーフスキャンコンバージョンを施して得られるピクセル空間上での座標値である。
【0007】
これら(1)〜(4)式による演算処理は、右上を矩形領域の開始点とし、矩形の左下を矩形領域の終了点とするが、左辺と下辺は領域に含まないことを意味している。このようにすることで、ピクセル空間上では、図8に示すように、矩形Aと矩形BがX方向に隣接し、矩形Aと矩形Cおよび矩形Bと矩形CがY方向に隣接して描画され、隣接する矩形間で重なる領域が存在しないようになるのである。
【0008】
このようなハーフスキャンコンバージョンは、図形の輪郭内を塗り潰す場合のみならず、図形の輪郭線をある幅で描画する場合にも適用される。すなわち、輪郭線を描画する場合であっても、描画すべき線幅が1ピクセル分より大きければ、幅を持つストローク描画として処理されて、その輪郭線が二点間を結ぶ線分を中心線とする矩形として描画されるので、上述した矩形の塗り潰しの場合と同様の描画処理が行われる。ただし、描画すべき線幅、すなわちストロークする幅が1ピクセル分に満たない場合には、その幅の線を描画するか否かはシステム全体の設定状況にもよるが、1ピクセル分の幅で線を描画するのが一般的である。
【0009】
【非特許文献1】
デビッド・F・ロジャース(David F.Rogers)著、山口富士夫監修、セイコー電子工業株式会社電子機器事業部訳、「実践コンピュータグラフィックス基礎手続きと応用」、日刊工業新聞社、p.86−87
【0010】
【発明が解決しようとする課題】
ところで、ベクトル形式で表現された図形データについて、その画像出力を行う場合には、その図形データが必ずしも文書作成時における方向で出力されるとは限らない。通常、図形データの画像出力は、文書作成APによる文書作成時の方向(例えば、縦書きまたは横書き)に依存する。ただし、近年では、パーソナルコンピュータで作成した文書を、PDA(Personal Digital Assistant)等の情報携帯端末装置で閲覧するといった利用形態が増えつつある。このような場合に、PDAでは、表示画面サイズが小さいため、その画面の長辺および短辺と文書(原稿)の長辺および短辺をそれぞれ合わせることで、原稿のページ領域を可能な限り視認し得るように表示することが望ましい。このことから、例えば縦長の表示画面を持つPDAでは、横長の原稿の90°回転表示、すなわち描画すべき図形をそのままの方向ではなく回転させて画像出力する、といったことが行われる。
【0011】
しかしながら、上述したハーフスキャンコンバージョン方式による図形描画を行う場合には、描画すべき図形を回転させると、その図形の位置ずれが発生するおそれがある。図9および図10は、矩形および線の描画処理の説明図である。図9(a)では、実数空間上に描画された矩形Aおよび線1の位置を示している。これら矩形Aおよび線1に対して、図形の回転を伴うことなくハーフスキャンコンバージョンを施すと、図9(b)に示すようになる。さらに、矩形Aおよび線1をピクセル空間における座標軸上に移すと、図9(c)に示すようになる。この図9(c)によれば、矩形Aと線1が隣接して描画されていることがわかる。一方、図9(a)における矩形Aおよび線1に対して、その描画位置を90°回転させると、その後は図10(a)に示すようになる。そして、その90°回転後の図形に対してハーフスキャンコンバージョンを施すと図10(b)に示すようになり、これをピクセル空間における座標軸上に移すと図10(c)に示すようになる。この図10(c)によれば、矩形Aと線1とが最早隣接しておらず、それぞれの間に1ピクセル分の空白ができていることがわかる。
【0012】
このように、ベクトル形式で表現された図形データについて描画処理を経て画像出力を行う場合に、矩形A等の図形塗り潰し処理と線1等の線描画処理とが混在していると、その過程で描画図形を回転させないときと回転させるときとで、画像出力の結果が異なってしまうことが考えられる。したがって、例えば文字列に取り消し線や下線が付されている文書については、その画像出力における描画図形の回転によって文字と線の位置がずれてしまい、その線が下線なのか取り消し線なのかを判断できなくなる、といったことも起こり得る。
【0013】
描画図形の回転に伴うその位置ずれは、例えば印刷装置で画像出力する場合であれば大きな問題とはなり難い。印刷装置は、一般に600〜1200DPI(Dot Per Inch)の高解像度で画像出力を行うため、1ピクセル分程度の位置ずれが目立たないからである。ところが、100DPI程度の低い解像度でディスプレイ表示する場合には、1ピクセル分程度の位置ずれであっても非常に目立つものとなり得る。また、ディスプレイ表示する場合であっても、パーソナルコンピュータのCRTを用いて行うのであれば、描画図形の回転が必要となる頻度は低いが、PDA等の情報携帯端末装置においては、描画図形の回転が必要となる頻度が高く、図形を回転させた画像出力の結果が回転させない画像出力の結果と一致することの必要性は非常に高い。
【0014】
そこで、本発明は、ベクトル形式の図形データからビットマップ形式の図形データを得るのにあたり、描画図形の回転が必要となる場合であっても、回転させないときと図形の描画位置にずれが生じてしまうことなく、図形間の位置関係を保つことができ、結果として高品質な画像出力を実現可能にする画像処理装置および画像処理プログラムを提供することを目的とする。
【0015】
【課題を解決するための手段】
本発明は、上記目的を達成するために案出された画像処理装置である。すなわち、ベクトル形式の図形データからビットマップ形式の図形データを得るための画像処理装置であって、前記ベクトル形式の図形データに基づいて特定される実数空間上における図形を、前記ビットマップ形式の図形データとして表現可能なピクセル空間上における図形に座標変換する座標変換手段と、前記ベクトル形式の図形データによる処理命令が図形塗り潰し命令であるか線描画命令であるかを判定する判定手段と、前記判定手段が図形塗り潰し命令または1ピクセル分より大きい線幅の線分についての線描画命令と判定すると、前記座標変換手段による座標変換にあたって前記ピクセル空間上における図形の回転を伴う場合に、その回転角に応じた補正値を前記ピクセル空間上における図形の座標値に加える補正を行い、前記判定手段が1ピクセル分以下の線幅の線分についての線描画命令と判定すると当該補正を行わない補正手段とを備えることを特徴とするものである。
【0016】
また、本発明は、上記目的を達成するために案出された画像処理プログラムである。すなわち、ベクトル形式の図形データからビットマップ形式の図形データを得るための画像処理プログラムであって、コンピュータを、前記ベクトル形式の図形データに基づいて特定される実数空間上における図形を、前記ビットマップ形式の図形データとして表現可能なピクセル空間上における図形に座標変換する座標変換手段と、前記ベクトル形式の図形データによる処理命令が図形塗り潰し命令であるか線描画命令であるかを判定する判定手段と、前記判定手段が図形塗り潰し命令または1ピクセル分より大きい線幅の線分についての線描画命令と判定すると、前記座標変換手段による座標変換にあたって前記ピクセル空間上における図形の回転を伴う場合に、その回転角に応じた補正値を前記ピクセル空間上における図形の座標値に加える補正を行い、前記判定手段が1ピクセル分以下の線幅の線分についての線描画命令と判定すると当該補正を行わない補正手段として機能させることを特徴とするものである。
【0017】
上記構成の画像処理装置および画像処理プログラムによれば、座標変換手段が実数空間上における図形をピクセル空間上における図形に座標変換するが、そのときにベクトル形式の図形データによる処理命令が図形塗り潰し命令または1ピクセル分より大きい線幅の線分についての線描画命令であって図形の回転を伴う場合には、補正手段がその回転角に応じた補正値を用いて補正を行う。すなわち、図形が回転される場合には、その回転角に応じて座標変換後の座標値に適切な補正を行い、回転後も回転前と同様の図形間の位置関係を保持するようにする。ただし、1ピクセル分以下の線幅の線分についての線描画命令については、当該補正を行わない。したがって、その補正後におけるピクセル空間上での座標値をビットマップ形式の図形データとすることで、図形回転の有無に関わらず、同一の描画図形が得られるようになる。
【0018】
【発明の実施の形態】
以下、図面に基づき本発明に係る画像処理装置および画像処理プログラムについて説明する。ここでは、本発明を情報携帯端末装置に適用した場合を例に挙げて説明する。
【0019】
図1は、本発明が適用された情報携帯端末装置の概略構成例を示すブロック図である。図例のように、ここで説明する情報携帯端末装置10は、入力デバイス11と、ディスプレイ12と、ディスプレイインターフェイス13と、CPU(Central Processing Unit)14と、RAM(Random Access Memory)15と、プログラムROM(Read Only Memory)16と、これらを互いに接続するシステムバス17と、を備えて構成されている。
【0020】
入力デバイス11は、文書を表示出力するためのデータ(以下「文書データ」という)を入力するためのものである。文書データには、ベクトル形式の図形データが含まれている。このような文書データとしては、例えばPDL(ページ記述言語)で記述されたデータが挙げられる。なお、文書データに含まれる図形データは、図形の塗り潰し命令、線描画命令、座標変換命令等を持っているものとする。
【0021】
ディスプレイ12は、ディスプレイインターフェイス13を介して受け取ったデータについて、その画像表示を行うものである。ただし、ディスプレイ12では、ビットマップ形式の画像データを表示出力するようになっている。ここで、画像データとは、文書データをビットマップ状に展開した後のデータをいい、ビットマップ形式の図形データをも含む。
【0022】
CPU14は、プログラムROM16から後述するオペレーティングシステム(以下「OS」という)またはアプリケーションプログラム(以下「AP」という)を読み出して実行することにより、情報携帯端末装置10全体の動作制御をはじめとした各種制御動作を行うものである。例えば、CPU14は、システムバス17を介して各部11〜13,15、16の制御を行うようになっている。
【0023】
RAM15は、各種データの一時的な記憶保持を行うものである。その記憶保持のために、RAM15では、少なくとも、入力デバイス11で入力された文書データを記憶する文書データ領域15aと、ディスプレイ12で表示出力すべきビットマップ形式の画像データが書き込まれるページメモリとしてのページ画像記憶部領域15bと、CPU14のワークエリアとして用いられるワーク領域15cとを有している。
【0024】
プログラムROM16は、CPU14が実行するための各種プログラムを予め格納しているものである。プログラムROM16が格納しているプログラムとしては、OS21およびAP22がある。OS21は、CPU14が情報携帯端末装置10全体の動作制御を行うためのものである。一方、AP22は、文書データをディスプレイ12から表示出力する際に必要となる処理を行うためのものであり、文書データをビットマップ形式の画像データに変換する画像データ変換部23と、その画像データ変換部の実行によって変換された画像データをディスプレイ12に表示出力させるウィンドウ制御部24とからなるものである。
【0025】
このうち、画像データ変換部23については、文書データから画像データへの変換に際して、その文書データにおける図形の塗り潰し命令、線描画命令、座標変換命令等を解釈し、これらの命令に従いつつ仮想の実数空間における座標軸上に図形を描画し、さらにその実数空間上の図形をビットマップ形式の図形データとして表現可能なピクセル空間上の図形とすべく座標変換を行う機能を実現する。すなわち、AP22の画像データ変換部23を実行することで、CPU14は、本発明における座標変換手段として機能するようになっている。
【0026】
また、画像データ変換部23については、単に座標変換を行う機能を実現するだけではなく、回転補正部23aとしての機能、すなわち座標変換にあたってピクセル空間上における図形の回転を伴う場合に、その回転角に応じた補正値をピクセル空間上における図形の座標値に加える補正を行う機能を実現する。すなわち、画像データ変換部23における回転補正部23aを実行することで、CPU14は、本発明における補正手段として機能するようになっている。
【0027】
なお、ここでは、これら画像データ変換部23および回転補正部23aを含むAP22が、予めプログラムROM16内に格納されている場合を例に挙げたが、そのAP22は、コンピュータ読み取り可能な記憶媒体に格納されて提供されるものであっても、または有線若しくは無線による通信手段を介して配信されるものであってもよい。つまり、ここで説明したCPU14が実現させる機能は、コンピュータを同様に機能させる画像処理プログラム、すなわち本発明に係る画像処理プログラムによっても実現することが可能である。
【0028】
次に、以上のように構成された情報携帯端末装置10において、入力デバイス11で受け取った文書データをディスプレイ12から表示出力する場合の処理動作例、特に画像データ変換部23および回転補正部23aにより実現される処理動作を説明する。図2および図3は、本発明が適用された情報携帯端末装置における処理動作例を示すフローチャートである。
【0029】
図2に示すように、画像データ変換部23を実行するCPU14による処理がスタートすると(ステップ101、以下ステップを「S」と略す)、そのCPU14は、RAM15の文書データ領域15aから命令を一つ読み込む(S102)。ここで、命令とは、文書データ、さらに詳しくはPDLの一命令に相当する。そして、CPU14は、命令の読み込みが成功したか否かを判定する(S103)。このとき、命令の読み込みが成功しなければ、文書データ領域15a内に命令が存在しないため、CPU14は、画像データ変換部23による処理を終了し(S104)、ウィンドウ制御部24による処理へと移行する。すなわち、ウィンドウ制御部24を実行するCPU14により、RAM15のページ画像記憶部領域15b内に展開されたビットマップ形式の画像データを、ディスプレイ12で表示出力させるための処理が行われる。
【0030】
一方、命令の読み込みが成功した場合には、CPU14は、その読み込んだ命令が座標変換命令であるか否かを判定する(S105)。この判定は、読み込んだ命令を解釈することによって行うことができる。座標変換命令とは、ユーザ座標系からデバイス座標への変換行列を指定するための命令である。この座標変換命令によって座標変換行列を指定することにより、画像の拡大、縮小、回転等の設定を他の描画命令の値を変更すること無しに行うことができる。そして、読み込んだ命令が座標変換命令であれば、CPU14は、その座標変換命令をカレント描画属性状態に保存した後に(S106)、次の命令の読み込みを行う(S102)。ここまでは、従来の場合と略同様である。
【0031】
これに対して、読み込んだ命令が座標変換命令でない場合には、続いて、CPU14は、その読み込んだ命令が図形の塗り潰し命令であるか否かを判定する(S107)。この判定も、読み込んだ命令を解釈することによって行うことができる。
【0032】
その結果、図形の塗り潰し命令であれば、CPU14は、カレントの座標変換行列でデバイス座標系に変換する(S108)。すなわち、図形の塗り潰し命令に従いつつ、仮想の実数空間における座標軸上での図形位置を認識する。そして、その実数空間上の図形をビットマップ形式の図形データとして表現可能なピクセル空間上の図形とすべく、ハーフスキャンコンバージョンを行ってピクセル空間上での座標値を計算する(S109)。このハーフスキャンコンバージョンによる座標変換は、従来と略同様の手法で行えばよい。
【0033】
ハーフスキャンコンバージョンによる座標変換を行うと、続いて、CPU14は、AP22の画像データ変換部23のうちの回転補正部23aとしての部分を実行することにより、ピクセル空間上での座標値に対し、その回転角度に対応した補正値を決定する(S110)。
【0034】
ピクセル空間上での図形の回転角度は、予めわかっているディスプレイ12の表示画面サイズと受け取った命令によって特定される画像データのサイズとの関係を基に認識すればよい。例えば、縦長の表示画面を持つディスプレイ12にて横長の原稿についての画像データを表示出力する場合であれば、画面の長辺および短辺と原稿の長辺および短辺をそれぞれ合わせるべく、その回転角度を90°とするといった具合である。また、原稿の回転表示が不要であれば、その回転角度を0°とするといった具合である。すなわち、ここでいう回転角度には0°も含む。なお、図形の回転角度は、画面サイズとデータサイズとの関係ではなく、情報携帯端末装置10のユーザによる設定事項を基に認識することも考えられる。
【0035】
また、回転角度に対応する補正値の決定は、予め回転補正部23aに登録されているテーブルを参照することで行えばよい。図4は、回転角度に対応する補正値を決定するためのテーブルの一具体例を示す説明図である。図例のテーブルによれば、回転角度が0°(回転なし)の場合はピクセル空間の座標軸上におけるX方向の補正値が「0」、同Y方向の補正値が「0」、90°回転の場合は同X方向の補正値は「1」、同Y方向の補正値が「0」、180°回転の場合は同X方向および同Y方向の補正値がいずれも「1」、270°回転の場合は同X方向の補正値が「0」、同Y方向の補正値が「1」となっている。なお、このテーブルは、必ずしも回転補正部23aに登録されている必要はなく、CPU14がアクセスし得る箇所に予め設定されていればよい。したがって、例えばテーブルをRAM15内に格納し、そのテーブルの内容を適宜書き換え可能にする、といったことも考えられる。
【0036】
そして、図2において、このようなテーブルを参照しながら回転角度に対応した補正値を決定した後は、CPU14は、その決定した補正値を、先の計算で求めたピクセル空間上での座標値に加え(S111)、その補正後のピクセル上の座標値を塗り潰すように、RAM15のページ画像記憶部領域15bへの図形描画を行う(S112)。このようにして、回転補正部23aを実行するCPU14は、座標変換にあたってピクセル空間上における図形の回転を伴う場合に、その回転角に応じた補正値をピクセル空間上における図形の座標値に加える補正を行うのである。
【0037】
また、読み込んだ命令が図形の塗り潰し命令であるか否かの判定(S107)の結果、図形の塗り潰し命令でなければ、続いて、CPU14は、図3に示すように、その読み込んだ命令が線描画命令であるか否かを判定する(S113)。この判定も、読み込んだ命令を解釈することによって行うことができる。
【0038】
その結果、線描画命令であれば、CPU14は、描画すべき線分の始点と終点、および線幅を、カレントの座標変換行列でデバイス座標系に変換する(S114)。すなわち、線描画命令に従いつつ、仮想の実数空間における座標軸上での線描画位置を認識する。次いで、CPU14は、座標変換後の線幅、つまりデバイス座標系での線幅が1ピクセル分より大きいか否かを判定する(S115)。この判定は、一般的な図形処理技術を用いて線幅を認識することで行えばよい。
【0039】
そして、線幅が1ピクセル分より大きい場合には、CPU14は、その線幅の線分についての線描画命令を、その線分を中心線とし、1ピクセル分より大きい線幅分の幅を持つ矩形の塗り潰し命令に変換し(S116)、それ以降、上述した場合と同様の図形の描画処理を行う(S107〜S112)。
【0040】
一方、線幅が1ピクセル分以下の場合には、CPU14は、1ピクセル分の幅を持つ線分の描画を行う。ただし、このとき、CPU14は、ピクセル空間上における線分の始点を決定するのにあたり、「0.5」を加えて整数化するといった計算を行う。また、ピクセル空間上における線分の終点を決定するのにあたり、「0.5」を加えて整数化し、さらに「1」を引くといった計算を行う(S117)。そして、その計算後の始点および終点のピクセル上の座標値を1ピクセル分の幅で結ぶように、RAM15のページ画像記憶部領域15bへの線描画を行う。
【0041】
なお、読み込んだ命令が座標変換命令、図形の塗り潰し命令または線描画命令のいずれでもなければ、CPU14は、その他の処理、すなわち読み込んだ命令によって指示される処理を行う(S118)。
【0042】
以上のような手順で、ベクトル形式で表現された図形データについて描画処理を経て画像出力を行えば、図形塗り潰し処理と線描画処理とが混在している場合に、その過程で描画図形を回転させても、その図形の描画位置にずれが発生して、描画図形を回転させないときと出力結果が異なってしまうことがない。
【0043】
図5は、上述した手順を用いて矩形および線の描画処理を行う場合の説明図である。図5(a)では、既に説明した図10(a)と同様に、描画位置が90°回転させた後の実数空間上に描画された矩形Aおよび線1を示している。これら矩形Aおよび線1に対してハーフスキャンコンバージョンを施すと、図5(b)に示すようになる。これは、既に説明した図10(a)の場合と同様である。これをピクセル空間における座標軸上に移すと図5(c)に示すようになるが、そのピクセル空間上の矩形Aに対しては、その回転角度に対応する座標値補正が行われるので、補正後における矩形Aおよび線1のピクセル空間上での位置は、図5(d)に示すようになる。この図5(d)によれば、図形を90°回転させた後であっても、矩形Aと線1とが隣接して描画されていることがわかる。つまり、描画図形を回転させないときと回転させるときとで同一の位置関係が得られ、それぞれの場合で画像出力の結果が異なってしまうことがない。
【0044】
このように、本実施形態で説明した情報携帯端末装置10、およびその情報携帯端末装置10で実行されるプログラムであるAP22によれば、図形が回転される場合には、その回転角に応じて座標変換後の座標値に適切な補正を行い、回転後も回転前と同様の図形間の位置関係を保持するので、その補正後におけるピクセル空間上での座標値をビットマップ形式の画像データとすることで、図形回転の有無に関わらず、同一の描画図形が得られるようになる。したがって、ディスプレイ12の表示画面サイズの関係で描画図形の回転が必要となる頻度が高い場合であっても、回転させないときと図形の描画位置にずれが生じてしまうことなく、図形間の位置関係を保つことができ、結果として高品質な画像出力が実現可能となる。
【0045】
なお、本実施形態では、本発明を情報携帯端末装置10に適用した場合を例に挙げて説明したが、本発明はこれに限定されるものではなく、ベクトル形式の図形データからビットマップ形式の図形データを得るためのものであれば、例えばパーソナルコンピュータやプリンタ等に搭載されて用いられる画像処理装置または画像処理プログラムであっても、全く同様に適用することが可能である。
【0046】
また、本実施形態では、本発明に係る画像処理装置および画像処理プログラムについてその好適な具体的を挙げて説明したが、これは本発明の好ましい一態様を示すものに過ぎず、本発明の技術的範囲がその具体例に限定されないことは勿論である。例えば、本実施形態では、図4のテーブルを補正値の具体例として示したが、その補正値はディスプレイ12の解像度やCPU14の能力等を考慮しつつ適宜設定しておけばよい。また、図4に示したテーブルでは、回転角度が0°の場合の補正値が「0」と規定されている例、すなわち「0」という値で補正を行う例を挙げたが、例えば事前に回転有無を判定し、回転無しであれば補正処理を全く行わないようにプログラミングすることも考えられる。
【0047】
【発明の効果】
以上に説明したように、本発明に係る画像処理装置および画像処理プログラムによれば、ベクトル形式の図形データからビットマップ形式の図形データを得るのにあたり、描画図形の回転が必要となる場合であっても、その回転角に応じて座標変換後の座標値に適切な補正を行い、回転後も回転前と同様の図形間の位置関係を保持するので、回転させないときと図形の描画位置にずれが生じてしまうことがなく、高品質な画像出力を得ることができる。
【図面の簡単な説明】
【図1】 本発明が適用された情報携帯端末装置の概略構成例を示すブロック図である。
【図2】 本発明が適用された情報携帯端末装置における処理動作例を示すフローチャート(その1)である。
【図3】 本発明が適用された情報携帯端末装置における処理動作例を示すフローチャート(その2)である。
【図4】 回転角度に対応する補正値を決定するためのテーブルの一具体例を示す説明図である。
【図5】 本発明を用いて矩形および線の描画処理を行う場合の説明図であり、(a)は実数空間上における描画位置を示す図、(b)はハーフスキャンコンバージョンを施した後の描画位置を示す図、(c)はピクセル空間上における描画位置(ただし補正前)を示す図、(d)はピクセル空間上における描画位置(ただし補正後)を示す図である。
【図6】 ハーフスキャンコンバージョン方式により矩形の輪郭内を塗り潰す場合の描画処理の説明図(その1)である。
【図7】 ハーフスキャンコンバージョン方式により矩形の輪郭内を塗り潰す場合の描画処理の説明図(その2)である。
【図8】 ハーフスキャンコンバージョン方式により矩形の輪郭内を塗り潰す場合の描画処理の説明図(その3)である。
【図9】 従来における矩形および線の描画処理の説明図であり、(a)は実数空間上における描画位置を示す図、(b)はハーフスキャンコンバージョンを施した後の描画位置を示す図、(c)はピクセル空間上における描画位置を示す図である。
【図10】 従来における図形の回転を伴う矩形および線の描画処理の説明図であり、(a)は実数空間上における描画位置を示す図、(b)はハーフスキャンコンバージョンを施した後の描画位置を示す図、(c)はピクセル空間上における描画位置を示す図である。
【符号の説明】
10…情報携帯端末装置、11…入力デバイス、12…ディスプレイ、13…ディスプレイインターフェイス、14…CPU、15…RAM、15a…文書データ領域、15b…ページ画像記憶部領域、15c…ワーク領域、16…プログラムROM、17…システムバス、21…OS、22…AP、23…画像データ変換部、23a…回転補正部、24…ウィンドウ制御部
Claims (2)
- ベクトル形式の図形データからビットマップ形式の図形データを得るための画像処理装置であって、
前記ベクトル形式の図形データに基づいて特定される実数空間上における図形を、前記ビットマップ形式の図形データとして表現可能なピクセル空間上における図形に座標変換する座標変換手段と、
前記ベクトル形式の図形データによる処理命令が図形塗り潰し命令であるか線描画命令であるかを判定する判定手段と、
前記判定手段が図形塗り潰し命令または1ピクセル分より大きい線幅の線分についての線描画命令と判定すると、前記座標変換手段による座標変換にあたって前記ピクセル空間上における図形の回転を伴う場合に、その回転角に応じた補正値を前記ピクセル空間上における図形の座標値に加える補正を行い、前記判定手段が1ピクセル分以下の線幅の線分についての線描画命令と判定すると当該補正を行わない補正手段と
を備えることを特徴とする画像処理装置。 - ベクトル形式の図形データからビットマップ形式の図形データを得るための画像処理プログラムであって、
コンピュータを、
前記ベクトル形式の図形データに基づいて特定される実数空間上における図形を、前記ビットマップ形式の図形データとして表現可能なピクセル空間上における図形に座標変換する座標変換手段と、
前記ベクトル形式の図形データによる処理命令が図形塗り潰し命令であるか線描画命令であるかを判定する判定手段と、
前記判定手段が図形塗り潰し命令または1ピクセル分より大きい線幅の線分についての線描画命令と判定すると、前記座標変換手段による座標変換にあたって前記ピクセル空間上における図形の回転を伴う場合に、その回転角に応じた補正値を前記ピクセル空間上における図形の座標値に加える補正を行い、前記判定手段が1ピクセル分以下の線幅の線分についての線描画命令と判定すると当該補正を行わない補正手段
として機能させることを特徴とする画像処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003164814A JP4289032B2 (ja) | 2003-06-10 | 2003-06-10 | 画像処理装置および画像処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003164814A JP4289032B2 (ja) | 2003-06-10 | 2003-06-10 | 画像処理装置および画像処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005004318A JP2005004318A (ja) | 2005-01-06 |
JP4289032B2 true JP4289032B2 (ja) | 2009-07-01 |
Family
ID=34091479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003164814A Expired - Fee Related JP4289032B2 (ja) | 2003-06-10 | 2003-06-10 | 画像処理装置および画像処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4289032B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4789828B2 (ja) * | 2007-03-06 | 2011-10-12 | 株式会社沖データ | 印刷システム |
JP4666054B2 (ja) | 2008-10-31 | 2011-04-06 | ブラザー工業株式会社 | 画像処理装置、および画像処理プログラム |
CN105321186B (zh) * | 2014-07-01 | 2018-09-14 | 北京四维图新科技股份有限公司 | 一种基于正射投影的封闭空间地图采集方法及装置 |
CN107481301B (zh) * | 2017-08-07 | 2020-06-16 | 苏州速显微电子科技有限公司 | 一种实现数字图像扇形遮罩的方法及其应用 |
JP2019053225A (ja) * | 2017-09-15 | 2019-04-04 | ブラザー工業株式会社 | 制御プログラム |
JP2019192087A (ja) * | 2018-04-27 | 2019-10-31 | キヤノン株式会社 | 情報処理装置、プログラム、情報処理方法 |
-
2003
- 2003-06-10 JP JP2003164814A patent/JP4289032B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005004318A (ja) | 2005-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002215281A (ja) | コンピュータ装置、表示デバイス、出力デバイス、表示制御装置、コンピュータプログラム、記憶媒体、イメージの処理方法 | |
EP1709506B1 (en) | Iteratively solving constraints in a font-hinting language | |
JP2012234454A (ja) | 画像形成装置、画像形成装置の制御方法およびコンピュータプログラム | |
JP3142550B2 (ja) | 図形処理装置 | |
US7136067B2 (en) | Using externally parameterizeable constraints in a font-hinting language to synthesize font variants | |
JP4289032B2 (ja) | 画像処理装置および画像処理プログラム | |
US10583670B2 (en) | Method for displaying objects based on display resolution, information processing apparatus for implementing method, and computer-readable medium storing instructions therefor | |
JP6414475B2 (ja) | コンピュータプログラム及び制御装置 | |
JP2005111718A (ja) | 画像出力制御方法および装置並びにプログラム | |
JP6541320B2 (ja) | 画像処理装置、画像処理方法、コンピュータプログラム | |
JPH0729021A (ja) | 画像出力装置 | |
JP6755644B2 (ja) | 文字処理装置、文字処理方法、文字処理プログラム | |
JP3146771B2 (ja) | フォントラスタライズ装置およびその方法 | |
JP6614857B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP4853504B2 (ja) | 画像処理プログラム及び画像処理システム | |
JP4367014B2 (ja) | 画像処理装置および画像処理プログラム | |
JPH0333896A (ja) | フォント描画装置 | |
JP2000267644A (ja) | フォント処理装置、フォント処理方法及び記憶媒体 | |
CN117573048A (zh) | 一种文档水印自动生成方法及终端 | |
JP2019192087A (ja) | 情報処理装置、プログラム、情報処理方法 | |
JP2710350B2 (ja) | 画像処理装置および画像処理装置の画像処理方法 | |
JP2976671B2 (ja) | データ展開方法 | |
JP2019197327A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
CN115509402A (zh) | 一种调整字体粗体效果的方法、装置、设备、存储介质 | |
JPH0493994A (ja) | 文字処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060522 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081209 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090205 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090310 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090323 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120410 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130410 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140410 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |