JP6939304B2 - 制御プログラム - Google Patents

制御プログラム Download PDF

Info

Publication number
JP6939304B2
JP6939304B2 JP2017178132A JP2017178132A JP6939304B2 JP 6939304 B2 JP6939304 B2 JP 6939304B2 JP 2017178132 A JP2017178132 A JP 2017178132A JP 2017178132 A JP2017178132 A JP 2017178132A JP 6939304 B2 JP6939304 B2 JP 6939304B2
Authority
JP
Japan
Prior art keywords
image data
information
display
raster image
line width
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.)
Active
Application number
JP2017178132A
Other languages
English (en)
Other versions
JP2019053606A (ja
Inventor
吉田 純二郎
純二郎 吉田
英明 上田
英明 上田
哲也 野瀬
哲也 野瀬
永祺 孫
永祺 孫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2017178132A priority Critical patent/JP6939304B2/ja
Priority to US16/021,607 priority patent/US10406827B2/en
Publication of JP2019053606A publication Critical patent/JP2019053606A/ja
Priority to US16/523,316 priority patent/US10583670B2/en
Application granted granted Critical
Publication of JP6939304B2 publication Critical patent/JP6939304B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J3/00Typewriters or selective printing or marking mechanisms characterised by the purpose for which they are constructed
    • B41J3/407Typewriters or selective printing or marking mechanisms characterised by the purpose for which they are constructed for marking on special material
    • B41J3/4075Tape printers; Label printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J3/00Typewriters or selective printing or marking mechanisms characterised by the purpose for which they are constructed
    • B41J3/44Typewriters or selective printing mechanisms having dual functions or combined with, or coupled to, apparatus performing other functions
    • B41J3/46Printing mechanisms combined with apparatus providing a visual indication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1208Improving or facilitating administration, e.g. print management resulting in improved quality of the output result, e.g. print layout, colours, workflows, print preview
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1256User feedback, e.g. print preview, test print, proofing, pre-flight checks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/109Font handling; Temporal or kinetic typography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/125Page layout or assigning input pages onto output media, e.g. imposition
    • G06F3/1251Page layout or assigning input pages onto output media, e.g. imposition for continuous media, e.g. web media, rolls

Description

本発明は、オブジェクトを用いた画像を作成する制御プログラムに関する。
下記特許文献には、ラベルプリンタに接続された操作端末によって、ラベルを作成する技術について記載されている。操作端末は、操作者による編集操作に応じて印字オブジェクトを含むテンプレートを作成する。
特開2014−71584号公報
ところで、ディスプレイの技術開発の発展にともなって、ドット数が2倍、3倍などの高解像度のディスプレイが開発されている。例えば、上記したラベル用のテンプレートの作成において文字や直線などのオブジェクトを高解像度のディスプレイに表示した場合、オブジェクトの輪郭を滑らかに表現できないなど、ディスプレイの性能を十分に活かせない問題があった。そこで、ディスプレイの解像度に応じた表示が実行できることを課題とする。
上記課題を解決するために、実施例に開示する第1の制御プログラムは、ディスプレイと、メモリとを備え、オペレーティングシステムがインストールされた情報処理装置のコンピュータが読み取り可能な制御プログラムであって、前記ディスプレイは、複数のディスプレイ画素から構成されており、前記オペレーティングシステムは、描画命令を前記情報処理装置にインストールされたプログラムから入力された場合に、前記メモリに確保された描画領域に、入力された前記描画命令に従ってラスター画像データを描画する描画処理を実行することが可能であり、前記ラスター画像データは、複数の画素データから構成される画像データであり、前記画素データは、画素単位の画像データであり、前記オペレーティングシステムは、前記ディスプレイ画素を前記描画領域に描画された前記ラスター画像データに基づいて制御することで、前記描画領域に描画された前記ラスター画像データが示す画像を前記ディスプレイに表示させる表示処理を実行することが可能であり、前記制御プログラムは、前記コンピュータを、前記オペレーティングシステムに前記描画命令を入力すべき描画イベントが発生した場合に、前記描画イベントに対応する描画情報を取得する描画情報取得手段と、前記ディスプレイの解像度に係わる特性情報を取得する特性情報取得手段と、前記描画情報取得手段が取得した前記描画情報と、拡大描画指示情報と、を入力として前記ラスター画像データを生成するラスター画像データ生成処理を実行するラスター画像データ生成手段と、として機能させ、前記拡大描画指示情報は、前記ラスター画像データ生成手段が前記ラスター画像データ生成処理を実行する場合に、前記特性情報取得手段により取得した前記特性情報に対応する変換倍率である第1変換倍率で前記描画情報が示すラスター画像データを拡大して生成するよう、前記ラスター画像データ生成手段に指示する情報であり、前記第1変換倍率は、前記拡大描画指示情報を含まず前記描画情報を入力として前記ラスター画像データ生成手段が前記ラスター画像データ生成処理を実行した場合に、前記ラスター画像データ生成手段によって生成されるラスター画像データのサイズを1とした場合の変換倍率であり、前記コンピュータを、縮小表示指示情報を前記オペレーティングシステムに入力する第1入力手段として機能させ、前記縮小表示指示情報は、前記オペレーティングシステムが前記表示処理を実行する場合に、前記第1変換倍率で前記描画領域に描画された前記ラスター画像データが示す画像を縮小して前記ディスプレイに表示するよう、前記オペレーティングシステムに指示する情報であることを特徴とする。
上記課題を解決するために、実施例に開示する第2の制御プログラムは、ディスプレイと、メモリとを備え、オペレーティングシステムがインストールされた情報処理装置のコンピュータが読み取り可能な制御プログラムであって、前記ディスプレイは、複数のディスプレイ画素から構成されており、前記オペレーティングシステムは、描画命令を前記情報処理装置にインストールされたプログラムから入力された場合に、前記メモリに確保された描画領域に、入力された前記描画命令に従ってラスター画像データを描画する描画処理を実行することが可能であり、前記ラスター画像データは、複数の画素データから構成される画像データであり、前記画素データは、画素単位の画像データであり、前記オペレーティングシステムは、前記ディスプレイ画素を前記描画領域に描画された前記ラスター画像データに基づいて制御することで、前記描画領域に描画された前記ラスター画像データが示す画像を前記ディスプレイに表示させる表示処理を実行することが可能であり、前記制御プログラムは、前記コンピュータを、前記オペレーティングシステムに前記描画命令を入力すべき描画イベントが発生した場合に、前記描画イベントに対応する描画情報を取得する描画情報取得手段と、前記ディスプレイの解像度に係わる特性情報を取得する特性情報取得手段と、前記描画情報取得手段が取得した前記描画情報と、線幅指示情報と、を含む第1描画命令を前記オペレーティングシステムに入力する第1入力手段として機能させ、前記描画情報は、線を示す画像データの描画を指示する情報であり、前記線幅指示情報は、前記描画命令で指定された前記線の第1線幅を、第2線幅に変更する指示を示す情報であり、前記第2線幅は、前記特性情報に基づいて、前記第1線幅に比べてより細い線幅を特定した情報であることを特徴とする。
実施例に開示する第1の制御プログラムにより、ラスター画像データ生成手段は、ディスプレイの解像度に係わる特性情報に対応する第1変換倍率で、描画情報が示すラスター画像データを拡大して生成する。これにより、ラスター画像データに含まれる画素データの数は、ディスプレイの解像度、即ち、第1変換倍率に応じて増大する。第1入力手段は、拡大したラスター画像データが示す画像を縮小してディスプレイに表示するよう、オペレーティングシステムへ指示する。これにより、ラスター画像データが示す画像をディスプレイに表示した場合、単位領域当たりにおける表示に用いるディスプレイ画素の数、即ち、表示のために制御されるディスプレイ画素の数が増大する。このため、ラスター画像データが示す画像を、高解像度のディスプレイに表示することで、ディスプレイの性能を活かした表示が可能となる。
実施例に開示する第2の制御プログラムにより、第2線幅は、ディスプレイの解像度に係わる特性情報に基づいて、第1線幅に比べてより細い線幅を特定した情報となる。例えば、解像度の高さに応じて、表示可能なより細い第2線幅が特定される。これにより、特定した第2線幅の線を、高解像度のディスプレイで表示することで、ディスプレイの性能を活かした表示が可能となる。
プリンタシステム1のブロック図である。 各プログラムやデバイスの関係を概念的に示すブロック図である。 LCD16に表示したラベルの編集画面61を示す図である。 テキストを表示する場合の画像データ作成モジュール28による処理のシーケンス図である。 オブジェクト処理部28Aによる変換倍率を決定する処理のフローチャートである。 調整前と調整後のテキストオブジェクト65及びオブジェクト枠66を表示した状態を示す図である。 補助線を表示する場合の画像データ作成モジュール28による処理のシーケンス図である。 デバイスコンテキストラッパー28Bによる線幅W2を設定する処理のフローチャートである。
<プリンタシステムの構成>
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明する実施形態は、本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更できる。
図1は、本実施形態に係るプリンタシステム1のブロック図である。図1に示すプリンタシステム1は、PC10、プリンタ50、無線プリンタ51を備える。PC10は、CPU(コンピュータの一例)12、メモリ14、ディスプレイI/F(インタフェースの略)15、LCD(ディスプレイの一例)16、入力I/F(ユーザインタフェースの一例)18、ネットワークI/F20を主に備えている。これらの構成要素は、バス22を介して互いに通信可能とされている。
PC10及びプリンタ50は、ネットワークI/F20及びネットワーク56を通じて有線により通信可能となっている。有線としては、例えば、LANケーブルを採用することができる。なお、有線は、LANケーブルに限らず、USBケーブル等でもよい。また、PC10及び無線プリンタ51は、ネットワークI/F20及びネットワーク56を通じて無線通信が可能となっている。無線通信の方式としては、例えば、Wi−Fi(登録商標)やBluetooth(登録商標)の規格を採用できる。また、ネットワーク56は、例えば、LAN(有線LAN、無線LANを含む)、あるいはWAN(インターネットを含む)でも良い。
プリンタ50,51は、例えば、ラベルプリンタであり、PC10との間で各種の情報や指示信号を送受信し、PC10による制御に基づいて、所望のテキストや画像等を印字したラベルを作成する。プリンタ50,51は、例えば、ラミネートフィルム等の長尺状のテープにテキスト等を印刷してラベルを作成する。
CPU12は、メモリ14内のアプリケーションプログラム26(制御プログラムの一例)、OS32に従って処理を実行する。アプリケーションプログラム26は、画像を編集し、編集した画像をプリンタ50,51によってラベルを作成するためのプログラムである。アプリケーションプログラム26は、処理モジュールとして、編集画面制御モジュール27、画像データ作成モジュール28、デバイス制御モジュール29を備えている。尚、アプリケーションプログラム26を、上記したように複数のプログラムの集合体で構成せず、単一のプログラムで構成しても良い。また、アプリケーションプログラム26は、編集した画像を、ラベルに印刷させるプログラムに限定されない。例えば、アプリケーションプログラム26は、編集した画像を、A4紙やA3紙に印刷するよう、ページプリンタに指示するプログラムでも良い。また、アプリケーションプログラム26は、編集した画像を、金属、ガラス、あるいは木材の表面に再現するよう、加工機器に指示するプログラムでも良い。レーザーマーカは、加工機器の一例である。また、アプリケーションプログラム26は、編集した画像を、立体で再現するよう、3Dプリンタや工作機器に指示するプログラムでも良い。
OS32は、アプリケーションプログラム26に利用される基本的な機能を提供するプログラムである。OS32は、例えば、Windows(登録商標)、MacOS(登録商標)、Linux(登録商標)、Android(登録商標)、iOS(登録商標)等のオペレーティングシステムである。なお、以下の説明では、アプリケーションプログラム26等を実行するCPU12のことを、単にプログラム名でも記載する場合がある。例えば、「アプリケーションプログラム26が」という記載は、「アプリケーションプログラム26を実行するCPU12が」ということを意味する場合がある。
図2は、各プログラムやデバイスの関係を概念的に示している。編集画面制御モジュール27は、例えば、ラベルの作成やラベルの編集を行うための編集画面をLCD16に表示するプログラムである。編集画面制御モジュール27は、例えば、OS32が提供するAPIによりOS32へ表示指示を実行し、OS32の表示プログラムを利用して表示処理を実行する。OS32は、編集画面制御モジュール27からの指示に応じてディスプレイI/F15を制御し、LCD16への表示を行う。編集画面制御モジュール27は、編集対象のラベルを示すオブジェクトを編集画面に表示するための画像を示す画像データの作成を画像データ作成モジュール28に指示し、画像データ作成モジュール28が作成した画像データを画像データ作成モジュール28から受け取り、受け取った画像データに基づく画像をLCD16へ表示させる。ここでいうオブジェクトとは、ラベルを構成するテキスト、図形(直線や四角形など)、画像などである。編集画面制御モジュール27は、オブジェクトを編集する入力操作を入力I/F18から受付けたとき、編集されたオブジェクトを編集画面に表示するための画像を示す画像データの作成を画像データ作成モジュール28に指示する。オブジェクトの追加、削除、サイズ変更、移動、テキストの変更、色の変更などが、オブジェクトの編集の一例である。編集画面制御モジュール27は、編集画面で編集されたラベルをプリンタから印刷するための画像を示す画像データの作成を画像データ作成モジュール28に指示し、画像データ作成モジュール28が作成した画像データを画像データ作成モジュール28から受け取り、受け取った画像データと印刷指示とをデバイス制御モジュール29に受け渡すことで、プリンタ50又は無線プリンタ51からラベルを印刷させる。なお、編集画面制御モジュール27は、画像データ作成モジュール28から受け取った画像データと印刷指示とをOS32が備える汎用印刷モジュール17に受け渡すことで、無線プリンタ51からラベルを印刷させる。MacOSが備えるAirPrint(登録商標)モジュールは、汎用印刷モジュール17の一例であり、編集画面制御モジュール27から受け取った画像データの印刷指示を、ネットワークI/F20を介してプリンタ50,51を含む、汎用印刷モジュール17に対応するプリンタに送信する。
画像データ作成モジュール28は、ラベルを作成するための画像データの作成や編集を行うためのライブラリを備えており、画像データの作成、編集等を実行するプログラムである。画像データ作成モジュール28は、編集画面制御モジュール27からの指示に応じて、LCD16にラベルを示す画像を表示するための画像データや、ラベルを示す画像をプリンタ50,51で印刷するための画像データを作成する。
デバイス制御モジュール29は、ネットワークI/F20を介してプリンタ50に印刷を実行させるためのプログラムである。デバイス制御モジュール29は、例えば、ラベルをプリンタから印刷するための画像を示す画像データと印刷指示とを編集画面制御モジュール27から受け取り、受け取った印刷指示に従って、画像データを、印刷に用いられる画像データである印刷データに変換し、変換した印刷データを、プリンタ50または無線プリンタ51に送信することで、ラベルを示す画像をプリンタ50または無線プリンタ51に印刷させる。なお、デバイス制御モジュール29は、OS32に指示することで、ネットワークI/F20を介して印刷データを送信する。
また、図1に示すメモリ14は、データ記憶領域34を備える。データ記憶領域34は、アプリケーションプログラム26等の実行に必要なデータなどを記憶する領域である。なお、メモリ14は、RAM、ROM、フラッシュメモリ、HDD、PC10に着脱されるUSBメモリ等の可搬記憶媒体、CPU12が備えるバッファなどが組み合わされて構成されている。
また、メモリ14は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non−transitoryな媒体である。non−transitoryな媒体には、上記の例の他に、CD−ROM、DVD−ROM等の記録媒体も含まれる。また、non−transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non−transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。
また、メモリ14は、デバイスコンテキスト35を備える。デバイスコンテキスト35は、OS32がメモリ14に確保する領域であり、描画のための記憶領域である。OS32は、例えば、編集画面制御モジュール27からの要求に応じてデバイスコンテキスト35を確保してもよい。デバイスコンテキスト35は、画像データ作成モジュール28によるオブジェクトの描画に用いられる描画領域を備える。また、デバイスコンテキスト35は、描画領域の他に、描画する直線の太さなどの描画に係わる設定情報(タイプ情報の一例)を記憶する記憶領域を備える。画像データ作成モジュール28は、OS32が確保したデバイスコンテキスト35の描画領域の編集や、設定情報の変更等を可能にする権限をOS32から取得する。画像データ作成モジュール28は、権限を取得した後、例えば、OS32が提供するAPIを利用してデバイスコンテキスト35の描画領域にオブジェクトのラスター画像データを描画する。尚、本願における「描画」とは、ラスター画像データをデバイスコンテキスト35に記憶させることをいう場合がある。また、ラスター画像データは、複数の画素データから構成される画像データである。画素データは、画素単位の画像データである。画素とは、画像データの単位であり、例えば、画像データの最小単位である。
OS32は、デバイスコンテキスト35に描画されたラスター画像データや設定情報に基づいて、LCD16への表示処理を実行する。OS32は、描画領域に描画されたラスター画像データに基づいてLCD16のドットを制御することで、ラスター画像データが示す画像をLCD16に表示させる表示処理を実行する。
LCD16は、PC10の各種情報を表示する。LCD16は、ディスプレイI/F15を介してバス22に接続されている。LCD16は、ディスプレイI/F15を介して表示データを取得する。LCD16は、複数のドット(ディスプレイ画素の一例)によって表示画面を構成されている。尚、本願のディスプレイは、液晶ディスプレイに限らず、有機ELディスプレイ等の他の表示方式のディスプレイでも良い。
入力I/F18は、キーボード、マウス等を含み、ユーザ操作を入力するためのインタフェースである。尚、入力I/F18は、キーボード等に限らず、LCD16の表示画面に重畳された膜状のタッチセンサでも良い。
<表示作動について>
次に、ラベルの編集画面にテキストや補助線を表示する場合における画像データ作成モジュール28の作動について説明する。図3は、LCD16に表示したラベルの編集画面61の一例を示している。図3に示すように、編集画面61には、ラベルの編集を行うための編集領域63が表示されている。編集領域63は、例えば、作成するラベルの長さ方向に延びる長方形状をなしている。
編集領域63には、一例として、「新規ラベル」のテキストを入力したテキストオブジェクト65が表示されている。テキストオブジェクト65を囲む枠は、テキストオブジェクト65の位置を示すオブジェクト枠66である。オブジェクト枠66は、設定によって表示、非表示を選択可能となっている。また、編集領域63には、ラベル用画像67が表示されている。ラベル用画像67は、ラベルに印刷する写真やロゴなどの画像である。
また、編集領域63には、グリッド線68が表示されている。グリッド線68は、長方形状の編集領域63を正方形のマス目で区画するようにマトリックス状に表示されている。また、編集画面61には、編集領域63の上下方向の中央の位置と、左右方向の中央の位置とを示すガイド線69が表示されている。また、編集領域63の上部と、左側には、ルーラ71が表示されている。また、編集領域63には、入力I/F18のマウスの位置を示すアイコン73が表示されている。上部のルーラ71には、このアイコン73の位置を示す、あるいはアイコン73で選択されたオブジェクトの位置を示す表示線75が表示されている。表示線75は、アイコン73の左右方向への移動に合わせて、上部のルーラ71に沿って左右方向へ移動する。
<テキストの表示について>
本実施形態の画像データ作成モジュール28は、上記したテキストオブジェクト65の表示処理において、デバイスコンテキスト35に描画したラスター画像データの拡大等を実行し、テキストの表示画像を調整する。図4は、テキストを表示する場合の画像データ作成モジュール28による処理のシーケンスを示している。図5は、オブジェクト処理部28Aによる変換倍率を決定する処理のフローチャートを示している。
なお、本明細書のシーケンス図やフローチャートは、基本的に、プログラムに記述された命令に従ったCPU12の処理を示す。すなわち、以下の説明における「判断」「取得」、「受付」、「制御」「設定」、「算出」等の処理は、CPU12の処理を表している。CPU12による処理は、OS32を介したハードウェア制御も含む。なお、「取得」は要求を必須とはしない概念で用いる。すなわち、CPU12が要求することなくデータを受信するという処理も、「CPU12がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「命令」「応答」「要求」等の処理は、「命令」「応答」「要求」等を示す情報を通信することにより行われる。また、「命令」「応答」「要求」等の文言を、「命令」「応答」「要求」等を示す情報そのものという意味で記載してもよい。
図1に示すように、本実施形態の画像データ作成モジュール28は、オブジェクト処理部28Aと、デバイスコンテキストラッパー28Bを備えている。オブジェクト処理部28A及びデバイスコンテキストラッパー28Bは、画像データ作成モジュール28に含まれる処理モジュールである。オブジェクト処理部28Aは、ラスター画像データを拡大する必要があるか否かを判断等する処理モジュールである。デバイスコンテキストラッパー28Bは、オブジェクト処理部28Aからの命令を受け付け、OS32へ命令を行う処理モジュールであり、オブジェクト処理部28Aに対してOS32の種類等に依存しない共通のインタフェースを提供する。デバイスコンテキストラッパー28Bは、オブジェクト処理部28Aから入力されるコマンド等を、OS32が提供するAPIの形式に変換する。オブジェクト処理部28Aは、デバイスコンテキストラッパー28Bを介してOS32に対する描画命令等を実行することで、OS32の種類等が変わった場合であっても、同一のコマンドや引数等を用いて描画命令等を実行できる。
まず、図4のステップ(以下、Sと記載する)11において、オブジェクト処理部28Aは、描画情報を取得する。オブジェクト処理部28Aは、例えば、OS32に描画命令を入力すべき描画イベントが発生した場合に、描画イベントに対応する描画情報を取得する。
編集画面制御モジュール27は、起動時の処理や、起動後の処理において、描画イベントが発生したか否かを判断している。描画イベントには、編集画面制御モジュール27の起動時に発生する起動イベントが含まれる。また、描画イベントには、複数の種類が存在する。なお、編集画面制御モジュール27は、イベント情報だけでなく、イベント情報に含まれる操作入力がされた位置などを示す情報と、編集画面制御モジュール27のステータス情報との比較も加味して、どのイベントが発生しているかを判断してもよい。ステータス情報とは、編集画面制御モジュール27が随時更新している、LCD16に表示している各オブジェクトの位置やサイズを示す情報を含んでよい。なお、本実施例では、便宜上、起動イベントも、複数種類存在する描画イベントも「描画イベント」としてまとめて説明するものとする。
編集画面制御モジュール27には、起動イベントおよび、複数の描画イベントそれぞれに対して、どの描画処理を実行するのか、どの描画情報を使用するのか、予め対応付けてプログラミングされている。描画イベントには、発生した場合にテキストオブジェクト65や補助線の描画処理が実行されるイベントと、実行されないイベントとがある。また、1つの描画イベントに、テキストオブジェクト65や補助線の描画処理が複数と、テキストオブジェクト65や補助線以外の描画処理が複数と、を対応付けている場合もある。
例えば、編集画面制御モジュール27は、入力I/F18を介した操作入力に応じて、図3に示す編集領域63に対して新たなテキストオブジェクト65を入力する情報を受け付けると、テキストオブジェクト65を描画する描画イベントが発生したとして、オブジェクト処理部28Aに描画命令を行う。オブジェクト処理部28Aは、編集画面制御モジュール27から描画命令を受け付けると、描画するテキストオブジェクト65に係わる描画情報を取得する(S11)。この描画情報は、例えば、描画するテキストの内容、描画する位置、フォントのサイズ、フォントの種類などの情報である。以下の説明では、描画イベントとして、スケーラブルフォントのテキストの描画イベントが発生した場合について説明する。スケーラブルフォントとは、例えば、文字の形状をベクター画像データとして保持し、指定されたサイズに合わせて描画するデータ形式である。従って、本実施形態のオブジェクト処理部28Aは、描画イベントとして、スケーラブルフォントのテキストを描画する際に、図4に示す表示処理を実行する。
また、図4に示すように、デバイスコンテキストラッパー28Bは、LCD16の解像度に係わるスケールS(特性情報の一例)を取得する(S13)。ここでいうスケールSとは、例えば、標準のディスプレイの解像度を1とした場合の解像度の比率を表す値である。例えば、標準のディスプレイの2倍の解像度を有しているディスプレイでは、スケールSの値が「2」となる。デバイスコンテキストラッパー28Bは、例えば、アプリケーションプログラム26の起動時に、予めメモリ14に記憶された設定ファイルを読み込むことでスケールSの値を取得する。あるいは、デバイスコンテキストラッパー28Bは、アプリケーションプログラム26を介してOS32からスケールSの値を取得しても良い。
次に、オブジェクト処理部28Aは、S11において描画情報を取得すると、デバイスコンテキストラッパー28BからスケールSを取得する(S15)。オブジェクト処理部28Aは、S15で取得したスケールSに基づいて、デバイスコンテキスト35に描画するラスター画像データを拡大する変換倍率(第1変換倍率の一例)を決定する変換倍率決定処理を実行する(S17)。
図5は、変換倍率決定処理の内容を示すフローチャートである。まず、オブジェクト処理部28Aは、図5のS19において、取得したスケールSが1より大きいか否かを判断、即ち、LCD16の解像度が標準のディスプレイの解像度より高いか否かを判断する。オブジェクト処理部28Aは、S19においてスケールSが1よりも大きい場合、即ち、LCD16が高解像度のディスプレイである場合(S19:YES)、変換倍率としてスケールSの値を設定する(S21)。オブジェクト処理部28Aは、図5の処理を終了させ、図4のS25以降の処理を実行する。
一方で、オブジェクト処理部28Aは、S19においてスケールSが1よりも小さい場合、即ち、LCD16が標準のディスプレイである場合(S19:NO)、変換倍率として「1」の値を設定する(S23)。この場合、LCD16の解像度が低いため、後述するラスター画像データの拡大等を実行し画素データの数を増大させたとしても、表示画像としてLCD16で再現できない。このため、オブジェクト処理部28Aは、図4のS25以降の拡大処理等を実行せず、S11で取得した描画情報に従った描画処理をデバイスコンテキスト35に対して実行する(S24)。OS32は、デバイスコンテキスト35に描画されたラスター画像データ等に基づいて、通常の表示処理を実行する。画像データ作成モジュール28は、図4及び図5に示す描画処理を終了する。
また、オブジェクト処理部28Aは、S21で変換倍率としてスケールSの値を設定し、図4のS25以降の処理を開始すると、S11で取得した描画情報と、変換倍率に係わる拡大描画指示情報と、を含む第1描画命令を、デバイスコンテキストラッパー28Bを介してOS32へ入力する(S25)。拡大描画指示情報とは、描画命令を受け付けたテキストオブジェクト65のラスター画像データを、変換倍率で拡大してデバイスコンテキスト35の描画領域に描画させるOS32への指示情報である。換言すれば、変換倍率は、拡大描画指示情報を含まない描画命令に従ってOS32がデバイスコンテキスト35に描画したラスター画像データのサイズを1とした場合の比率を示している。
デバイスコンテキストラッパー28Bは、S25でオブジェクト処理部28Aから取得した描画情報と拡大描画指示情報とに基づいて、デバイスコンテキスト35への描画をOS32に命令する(S27)。デバイスコンテキストラッパー28Bは、例えば、APIにより描画命令をOS32へ実行する。OS32は、デバイスコンテキスト35の描画領域に描画を実行する(S29)。例えば、OS32は、デバイスコンテキストラッパー28Bから取得した描画情報に基づいて、LCD16に表示するスケーラブルフォントのベクター画像データを特定する。OS32は、デバイスコンテキストラッパー28Bから取得した拡大描画指示情報の変換倍率に基づいて、特定したスケーラブルフォントのベクター画像データが示す画像を拡大し、ラスター画像データとしてデバイスコンテキスト35に描画する。即ち、OS32は、LCD16の解像度に応じて拡大したラスター画像データをデバイスコンテキスト35に描画する。
次に、オブジェクト処理部28Aは、縮小表示指示情報を、デバイスコンテキストラッパー28Bを介してOS32へ入力する(S31)。縮小表示指示情報は、変換倍率、即ち、スケールSの値で拡大したラスター画像データが示す画像を縮小してLCD16に表示させるOS32への指示情報である。オブジェクト処理部28Aは、例えば、拡大したラスター画像データが示す画像を、1/S倍だけ縮小してLCD16に表示させるようにOS32へ命令する。従って、本実施形態のオブジェクト処理部28Aは、ラスター画像データを拡大した倍率と同じ倍率で縮小して表示するようにOS32に命令する。なお、オブジェクト処理部28Aは、S25の第1描画命令と、S31の縮小表示指示とをまとめてOS32に命令しても良い。
デバイスコンテキストラッパー28Bは、S31において縮小表示指示情報を取得すると、OS32に対しデバイスコンテキスト35の設定情報を一時的に記憶する命令を実行する(S33)。上記したようにデバイスコンテキスト35は、描画領域の他に、描画する直線の太さなどの描画に係わる設定情報を記憶する記憶領域を備える。この設定情報には、ラスター画像データを描画領域に描画する座標位置や、ラスター画像データをLCD16に表示する変換倍率(以下、座標変換倍率という)の情報が含まれる。この座標変換倍率は、描画領域の論理座標と、LCD16のドットの位置、即ち、ドットの物理座標との対応関係を示す値である。
例えば、座標変換倍率が「1」である場合、OS32は、描画領域の論理座標と、ドットの物理座標とを1:1で対応付ける。この場合、論理座標及び物理座標をXY座標で表すと、描画領域のX=3、Y=3の画素データは、物理座標のX=3、Y=3の位置のドットで表示される。ラスター画像データが示す画像は、大きさを維持したままLCD16に表示される。また、例えば、座標変換倍率が「1/2」である場合、OS32は、描画領域の論理座標と、ドットの物理座標とを2:1で対応付ける。この場合、描画領域のX=3、Y=3の画素データは、物理座標のX=1.5、Y=1.5の位置のドットで表示される。描画領域に描画されたラスター画像データが示す画像は、画素数を維持した状態で、1/2に縮小されLCD16に表示される。また、例えば、座標変換倍率が「2」である場合、OS32は、描画領域の論理座標と、ドットの物理座標とを1:2で対応付ける。この場合、描画領域のX=3、Y=3の画素データは、物理座標のX=6、Y=6の位置のドットで表示される。ラスター画像データが示す画像は、画素数を維持した状態で、2倍に拡大され画素数でLCD16に表示する。
ここで、物理座標のX=1.5、Y=1.5などの小数の位置に対応するドットが存在するか否かは、LCD16の解像度に依存する。例えば、標準のディスプレイでは、整数の座標位置に対応するドットしか存在せず、X=1.5などの小数の座標位置の画素データが反映されない。一方、高解像度のディスプレイであれば、例えば、標準のディスプレイの2倍のドットを有するため、X=1.5などのドットが存在し、画素データが反映される。そこで、本実施形態の画像データ作成モジュール28は、LCD16のスケールSが1より大きく高解像度である場合、スケールSの値でラスター画像データを増大させ、画素データを増大させる。そして、拡大したラスター画像データを1/S倍してLCD16に表示することで、LCD16の解像度の高さに応じて単位領域当たりの画素データの数、即ち、表示に用いるドットの数を増大させて表示することが可能となる。
デバイスコンテキストラッパー28Bは、S31で取得した縮小表示指示情報に基づいて、座標変換倍率を変更するのに先立ち、現在の設定情報の記憶をOS32へ命令する(S33)。OS32は、デバイスコンテキストラッパー28Bからの命令に基づいて、デバイスコンテキスト35に記憶された現在の設定情報を、メモリ14等に一時的に記憶する。
次に、デバイスコンテキストラッパー28Bは、デバイスコンテキスト35の設定情報、即ち、座標変換倍率の設定の変更をOS32へ命令する(S35)。デバイスコンテキストラッパー28Bは、S31においてオブジェクト処理部28Aから1/S倍だけ縮小する命令を受け付けているため、座標変換倍率として「1/S」の値を設定するようにOS32へ命令する。デバイスコンテキストラッパー28Bは、例えば、APIにより座標変換倍率の設定をOS32へ命令する。
次に、デバイスコンテキストラッパー28Bは、デバイスコンテキスト35の情報に基づいたLCD16の表示をOS32へ命令する(S37)。OS32は、デバイスコンテキスト35の設定情報とラスター画像データとに基づいてLCD16のドットを制御し、ラスター画像データが示す画像を表示する(S39)。デバイスコンテキストラッパー28Bは、S35において座標変換倍率を変更したため、S33で記憶させた設定情報、即ち、変更前の情報に戻すリストア命令をOS32に実行する(S41)。このようにして、本実施形態の画像データ作成モジュール28は、テキストオブジェクト65のラスター画像データを拡大し、拡大したラスター画像データを縮小して表示する調整処理を実行する。
図6は、上記した調整を実行する前と実行後のテキストオブジェクト65の表示状態を示している。図6の左側のテキストオブジェクト65は、調整前のテキストオブジェクト65Aを示している。図6の右側のテキストオブジェクト65は、調整後のテキストオブジェクト65Bを示している。図6に示すように、調整前のテキストオブジェクト65Aは、単位面積当たりの画素データの数が少ないため、輪郭に凹凸が発生している。一方で、調整後のテキストオブジェクト65Bは、まず、上記した図4のS29において、ラスター画像データとして描画される際に第1変換倍率に基づいてS倍に拡大される。これにより、テキストオブジェクト65Bの画素データは増大する。そして、図4のS39において、拡大したラスター画像データが示す画像を、座標変換倍率に基づいて、画素データの数を維持したまま1/S倍に縮小して表示する。これにより、テキストオブジェクト65Bは、単位領域当たりの画素データの数、即ち、ドット数が増大する。このようなテキストオブジェクト65Bを、高解像度のLCD16に表示することで、図6に示すように、輪郭を滑らかにしたテキストオブジェクト65Bを表示させることができる。
<印刷処理について>
なお、上記した例では、画像データ作成モジュール28は、テキストオブジェクト65を表示する際に、ラスター画像データの拡大等を実行した。一方で、本実施形態の画像データ作成モジュール28は、テキストオブジェクト65を印刷する際には、ラスター画像データの拡大等を実行しない。具体的には、例えば、メモリ14には、印刷のための描画や設定情報を記憶する印刷領域(画像形成領域の一例)が確保される。OS32は、この印刷領域に記憶された印刷画像データ(画像形成用画像データの一例)に基づいてプリンタ50,51による印刷を実行する。オブジェクト処理部28Aは、例えば、編集画面制御モジュール27から印刷命令を受けると、プリンタ50,51から印刷解像度(dpiなど)に係わる印刷特性情報(画像形成特性情報の一例)を取得する。そして、オブジェクト処理部28Aは、印刷領域に記憶された印刷特性情報と、印刷画像データと、を含む印刷命令をOS32へ入力し印刷処理を実行する。この場合、オブジェクト処理部28Aは、印刷解像度に基づいて、印刷対象のテキストオブジェクト65等のラスター画像データを拡大等しない。オブジェクト処理部28Aは、例えば、印刷設定に基づいて、印刷対象のテキストオブジェクト65等を印刷する。
なお、上記した例では、オブジェクト処理部28Aは、図4のS25において、OS32に対して第1描画命令を行うことでラスター画像データを拡大する処理を実行した。即ち、オブジェクト処理部28Aは、拡大したラスター画像データを、OS32を介して生成した。これに対し、例えば、拡大したラスター画像データを生成する処理を、オブジェクト処理部28Aが実行してもよい。この場合、オブジェクト処理部28Aは、例えば、図4のS25における第1描画命令を、OS32へ入力しない。オブジェクト処理部28Aは、例えば、図5のS21で変換倍率としてスケールSの値を設定すると、S11で取得した描画情報と、変換倍率に係わる拡大描画指示情報から拡大したラスター画像データを生成する。オブジェクト処理部28Aは、例えば、メモリ14のデータ記憶領域34を用いてラスター画像データを拡大する。
次に、オブジェクト処理部28Aは、縮小表示指示情報を、デバイスコンテキストラッパー28Bを介してOS32へ入力する(S31)。この縮小表示指示情報は、オブジェクト処理部28Aにより拡大されたラスター画像データが示す画像を、縮小してLCD16に表示させるOS32への指示情報である。これにより、OS32を介さずにラスター画像データの拡大をオブジェクト処理部28Aによって実行する。そして、拡大したラスター画像データを縮小してLCD16に表示することが可能となる。
また、上記した例では、デバイスコンテキストラッパー28Bは、S31において、オブジェクト処理部28Aから縮小表示指示情報を入力した。即ち、オブジェクト処理部28Aが縮小率を決定した。これに対し、デバイスコンテキストラッパー28Bが縮小表示指示情報を決定、即ち、拡大したラスター画像データの縮小率を決定しても良い。デバイスコンテキストラッパー28Bは、図4のS13においてスケールSを取得している。このため、デバイスコンテキストラッパー28Bは、S13の情報に基づいて、縮小率(1/Sなど)を決定することが可能となる。この場合、オブジェクト処理部28Aは、デバイスコンテキストラッパー28Bに対して、縮小表示の指示を実行せず、拡大したラスター画像データの描画命令だけを実行しても良い(S31)。そして、デバイスコンテキストラッパー28Bが、オブジェクト処理部28Aからの描画命令に応じて、縮小率を決定し、縮小したラスター画像データの表示をOS32に入力しても良い(S35,S37)。
<補助線の表示について>
次に、補助線の表示処理について説明する。図3に示すオブジェクト枠66に用いる直線、グリッド線68、ガイド線69、ルーラ71の目盛りに用いる直線、表示線75は、ラベルの編集作業において、作業の補助となる補助線である。これらの補助線は、編集作業を阻害しないように可能な限り細い線を用いて表示することが好ましい。また、補助線を表示する最小の太さは、LCD16の解像度が高いほど細くすることが可能となる。そこで、本実施形態の画像データ作成モジュール28は、補助線の表示処理において、LCD16のスケールSに基づいて、より細い線を用いた表示処理を実行する。なお、以下の説明では、上記したテキストの表示処理と同様の内容については、その説明を適宜省略する。
図7は、補助線を表示する場合の画像データ作成モジュール28による処理のシーケンスを示している。まず、図7のS51において、オブジェクト処理部28Aは、補助線を描画する描画情報を取得する。オブジェクト処理部28Aは、OS32に描画命令を入力すべき描画イベントが発生した場合に、描画イベントに対応する描画情報を取得する。例えば、編集画面制御モジュール27は、入力I/F18を介した操作入力に応じて、図3に示すオブジェクト枠66の表示設定を、非表示状態から表示状態に変更する命令を受け付けると、補助線を描画する描画イベントが発生したとして、オブジェクト処理部28Aに描画命令を行う。
オブジェクト処理部28Aは、編集画面制御モジュール27から描画命令を受け付けると、描画する補助線に係わる描画情報を取得する(S51)。この描画情報は、例えば、補助線を描画する基点の位置や終点の位置などの情報である。また、描画情報には、例えば、描画する補助線に係わるペンの情報が含まれる。ここでいうペンとは、補助線に用いる線(直線や曲線など)の太さ、色、端部の形状など、補助線を描くために用いる線に係わる設定情報である。一方で、デバイスコンテキストラッパー28Bは、LCD16の解像度に係わるスケールS、即ち、標準のディスプレイの解像度を1とした場合の解像度の比率を表す値を取得する(S53)。
次に、オブジェクト処理部28Aは、補助線の描画命令をOS32に対して入力する。本実施形態のオブジェクト処理部28Aは、例えば、複数の補助線を描画する場合、図7に示すペンの設定命令(S55)と、描画命令(S63)とを交互にOS32に対して実行し、複数の補助線の描画を行う。まず、オブジェクト処理部28Aは、S55においてデバイスコンテキストラッパー28Bを介してペンの設定を行う。例えば、補助線を描画する場合、編集画面制御モジュール27から描画情報として、細いペンが指定される。ここでいう細いペンとは、例えば、Windos(登録商標)の描画に関する関数で使用されるコスメティックペンであり、1ドットの幅の線を引くペンである。本実施形態のペンの線幅の情報は、例えば「0」の値を指定された場合、1ドットの線幅を表す値となる。また、線幅として「1/2」など1〜0の間の小数値を指定された場合、1ドットの線幅を少数倍した、例えば1/2倍した線幅を表す値となる。従って、線幅として「0」の値よりも大きな小数値であっても、実際には、1ドットの線幅よりも細い線を指定したこととなる。
オブジェクト処理部28Aは、S55において、線幅W1のペンを用いて補助線を描画するように命令する。これに対し、本実施形態のデバイスコンテキストラッパー28Bは、S53で取得したスケールSの値に応じて、線幅W1をより細い線を示す線幅W2に変更する処理を実行する(S57)。
図8は、S57でデバイスコンテキストラッパー28Bによって実行される線幅W2を設定する処理のフローチャートを示している。まず、図8のS81において、デバイスコンテキストラッパー28Bは、S55でオブジェクト処理部28Aから取得した線幅W1の値が「0」であるか否かを判断する。デバイスコンテキストラッパー28Bは、線幅W1の値が「0」である場合(S81:YES)、変更後の線幅W2として1/Sの値を設定する(S83)。従って、例えば、LCD16の解像度が標準のディスプレイの2倍の解像度、即ち、スケールSの値が「2」である場合、コスメティックペンのような細い線の描画を命令し、描画情報の線幅W1として「0」の値を設定すると、線幅W2の値が1/2となる。その結果、線幅W1=0を指定した場合の1ドット幅の線幅に比べて、変換後の線幅W2は、より細い1/2倍した線幅を指定したこととなる。これにより、OS32や編集画面制御モジュール27から補助線などの細い線を描画するために線幅W1=0が指定さると、デバイスコンテキストラッパー28Bは、スケールSの値、即ち、LCD16の解像度の高さに応じたより細い線を描画するように命令を変換する。
一方、デバイスコンテキストラッパー28Bは、線幅W1の値が「0」でない場合(S81:NO)、変更後の線幅W2としてW1の値を設定する(S85)。従って、デバイスコンテキストラッパー28Bは、1ドット幅より太い線幅W1を指定された場合、線幅W1の値を変更せずに線幅W2として設定する。
デバイスコンテキストラッパー28Bは、図8に示す処理を実行すると、決定した線幅W2の値を含む設定情報をデバイスコンテキスト35に記憶するよう、OS32へ命令する(S58)。ここでいう設定情報とは、S51で取得した描画情報に含まれる情報であり、補助線の描画に用いる線の太さなどの情報である。OS32は、デバイスコンテキストラッパー28Bから取得した設定情報をデバイスコンテキスト35に記憶する(S59)。デバイスコンテキストラッパー28Bは、例えば、APIにより設定情報の記憶をOS32に命令する。
一方で、デバイスコンテキストラッパー28Bは、新たな線幅W2の設定情報をデバイスコンテキスト35へ記憶させたことに応じて、デバイスコンテキスト35に元々設定されていたペンの情報をオブジェクト処理部28Aへ応答する(S61)。これにより、オブジェクト処理部28Aは、1番目の補助線の描画を終了した後、S61で取得した元々のペンの情報を用いて、デバイスコンテキスト35の設定情報を変更前の状態に戻すことができる(S69,S71)。
オブジェクト処理部28Aは、デバイスコンテキストラッパー28Bから元々のペンの情報を取得すると、デバイスコンテキストラッパー28Bを介してOS32へ描画命令を実行する(S63)。デバイスコンテキストラッパー28Bは、オブジェクト処理部28Aからの描画命令に応じて、APIによりOS32に対し描画命令を実行する(S65)。OS32は、デバイスコンテキストラッパー28Bから取得した情報に基づいて、デバイスコンテキスト35の描画領域に補助線のラスター画像データを描画する。そして、OS32は、S59で記憶したデバイスコンテキスト35の設定情報、即ち、線幅W2の情報などと、描画領域に描画したラスター画像データとに基づいて、LCD16に補助線の画像を表示する(S67)。これにより、LCD16の解像度が標準のディスプレイよりも高い場合、1ドット幅の補助線よりも細い補助線を表示させることができる。例えば、図6に示すように、図6の左側の調整前のオブジェクト枠66Aは、1ドットの幅の太さで表示される。これに対し、図6の右側の調整後のオブジェクト枠66Bは、解像度の高さに応じてより細い線で表示される。これにより、編集画面61(図3参照)の表示において、編集対象のテキストオブジェクト65等と、編集対象でない補助線とを、識別し易くなるように表示することができる。
図7に示すように、オブジェクト処理部28Aは、OS32に対する描画命令(S63)を実行した後、S61で取得した元々設定されていたペンの情報に戻す命令を、デバイスコンテキストラッパー28Bを介してOS32へ実行する(S69,S71)。OS32は、デバイスコンテキストラッパー28Bからの命令に基づいて、デバイスコンテキスト35のペンの設定情報を、S59を実行する前の状態に戻す。これにより補助線の描画ごとに、ペンの設定を元に戻すことができる。
なお、上記した例では、細い線の一例として補助線について説明したが、他の線の表示においてもLCD16のスケールSに応じてより細い線の描画を実行しても良い。また、画像データ作成モジュール28は、例えば、入力I/F18を介した操作入力に応じて線幅W1を明示的に指定された描画命令を受け付けた場合、その指定された線幅W1で線の描画を実行しても良い。より具体的には、明示的に指定した描画命令とは、例えば、ユーザが、入力I/Fを操作して線の太さの値を入力した描画命令を行った場合である。線の太さの指定方法は、具体的な線の太さの値を用いてもよく、「やや太い」といった太さの度合いを示す情報を用いても良い。逆に、非明示的に指定される場合とは、例えば、上記した補助線の描画に用いられるコスメティックペンのように、アプリケーションプログラム26やOS32の初期値として、線の太さが指定されている場合である。明示的に指定された場合、例えば、ラベルの作成を行っているユーザによって、線幅を好みの太さに指定された可能性が高いため、指定された線幅で直線等を描画することが好ましい。このため、画像データ作成モジュール28は、線幅W1を明示的に指定された描画命令を受け付けた場合、その指定された線幅W1で線の描画を実行する。
以上、上記した実施形態のオブジェクト処理部28Aは、テキストの表示において、LCD16の解像度に係わるスケールSの値に基づいた変換倍率で描画情報が示すラスター画像データを拡大して描画するようにOS32に指示する(S25,S27,S29)。これにより、ラスター画像データに含まれる画素データの数は、LCD16の解像度の高さ、即ち、スケールSの値に応じて増大する。オブジェクト処理部28Aは、拡大されたラスター画像データが示す画像を、座標変換倍率に基づいて1/S倍に縮小してLCD16に表示するよう、OS32へ指示する(S31など)。これにより、ラスター画像データが示す画像をLCD16に表示した場合、単位領域当たりにおける表示に用いられるドットの数、即ち、表示のために制御されるドットの数が増大する。このため、ラスター画像データが示す画像を、高解像度のLCD16に表示することで、LCD16の性能を活かした表示が可能となる。
また、デバイスコンテキストラッパー28Bは、補助線の描画において、LCD16の解像度に係わるスケールSに基づいて、線幅W1に比べてより細い線幅W2を特定する(S57)。これにより、特定した線幅W2の補助線を、高解像度のLCD16で表示することで、LCD16の性能を活かした表示が可能となる。
因みに、PC10は、情報処理の一例である。LCD16は、ディスプレイの一例である。画像データ作成モジュール28は、制御プログラム、ラスター画像データ生成手段、第1入力手段、第2入力手段の一例である。デバイスコンテキスト35は、描画領域の一例である。オブジェクト処理部28Aは、描画情報取得手段の一例である。デバイスコンテキストラッパー28Bは、特性情報取得手段の一例である。プリンタ50,51は、画像形成装置の一例である。
<実施例の効果>
上記した実施形態によれば、以下の効果を奏する。
オブジェクト処理部28Aは、スケールSが1である場合(S19:NO)、変換倍率を「1」とする(S23)。また、オブジェクト処理部28Aは、スケールSが1である場合、縮小表示指示情報をオペレーティングシステムに入力しない。これにより、解像度の比率を示すスケールSの値が1である場合、即ち、LCD16の解像度が標準とするディスプレイの解像度と同一である場合、オブジェクト処理部28Aは、ラスター画像データの拡大等を実行しない。その結果、LCD16の解像度が低い場合に、テキストオブジェクト65の画素を増大させてしまうような不要な処理の発生を抑制できる。
オブジェクト処理部28Aは、描画情報にベクター画像データを描画する情報が含まれていない場合、拡大処理等を、OS32に指示しない設定でも良い。これにより、スケーラブルフォントのようなベクター画像データを表示する場合は、LCD16の解像度に応じた拡大及び縮小処理を実行する。一方、ビットマップフォントのようなラスター画像データを表示する場合は、LCD16の解像度に応じた拡大処理等を実行しない。また、ラベル用画像67がドット画像である場合も同様である。従って、表示する画像データが、ドットの集合として描画されるラスター画像データに変換される前、即ち、ベクター画像データである場合に、拡大処理等を実行することで、高い解像度に応じた表示を行うことができる。
また、スケーラブルフォントの表示の場合は、解像度に応じた拡大及び縮小処理を実行し、LCD16の性能を活かした表示が可能となる。
オブジェクト処理部28Aは、スケールSに応じた変換倍率で描画情報が示すラスター画像データを拡大して描画領域に描画するよう、OS32に指示する。また、オブジェクト処理部28Aは、拡大したラスター画像データが示す画像をスケールS応じて縮小してLCD16に表示するよう、OS32に指示する。これにより、スケールSに応じて拡大処理及び縮小処理を実行し、LCD16の解像度に応じた表示ができる。
デバイスコンテキストラッパー28Bは、ラスター画像データの拡大や縮小表示を、APIによりOS32に指示する。これにより、APIを介してOS32が提供する関数などを利用することで、OS32に対して変換倍率や座標変換倍率を容易且つ的確に指示できる。
画像データ作成モジュール28は、テキストオブジェクト65を印刷する際には、ラスター画像データの拡大等を実行しない。これにより、オブジェクト処理部28Aは、印刷特性情報に基づいた印刷をOS32に指示し、プリンタ50,51の特性に応じて、適切な印刷を実行できる。
補助線の描画において、特性情報は、LCD16の解像度の比率を示すスケールである。これにより、スケールSに応じた補助線の太さを特定し、特定した太さの補助線を、高解像度のLCD16で表示することで、LCD16の性能を活かした表示が可能となる。
デバイスコンテキストラッパー28Bは、線幅W1を1/S倍した値を、線幅W2として特定する(S83)。これにより、特性情報であるスケールSの大きさに応じた太さを、適切に特定することができる。
画像データ作成モジュール28は、描画命令で線幅W1が明示的に指定された場合、線幅W2を特定しない。これにより、明示的な線の太さの指定があった場合には、その指定された太さを優先し、指定された太さで表示を行う。そして、明示的な指定を行ったにも係わらず、線の太さを変更されるような事態の発生を抑制し、明示的に指名した太さの線を表示させることができる。
描画情報が示す線は補助線である。これにより、編集作業の補助となる補助線を、解像度の高さに応じて、表示可能なより細い線にできる。従って、編集を行うテキストなどの画像と、編集作業の補助のために表示する画像とを、より識別し易くすることができる。
また、本発明は、上記実施形態に限定されるものではなく、当業者の知識に基づいて種々の変更、改良を施した種々の態様で実施することが可能である。
例えば、上記実施形態では、オブジェクト処理部28Aが、図4のS17の変換倍率決定処理を実行したが、デバイスコンテキストラッパー28Bが変換倍率決定処理を実行しても良い。また、上記実施形態では、デバイスコンテキストラッパー28Bが、図7のS57の線幅W2設定処理を実行したが、オブジェクト処理部28Aが線幅W2設定処理を実行しても良い。
また、上記実施形態では、画像データ作成モジュール28を含むアプリケーションプログラム26の処理がCPU12によって実行される例を説明したが、これに限らない。PC10は、アプリケーションプログラム26による処理を、CPU12に限らず、ASICや他の論理集積回路により実行しても良いし、CPU等やASIC、他の論理集積回路を協働させて実行しても良い。
上記実施形態では、デバイスコンテキスト35を、メモリの領域として記載したが、デバイスコンテキスト35は、所定の処理を実行するプログラムを備えても良い。例えば、デバイスコンテキスト35は、オブジェクト指向プログラミング言語におけるオブジェクト(クラス)でも良く、外部からの指示を受け付けるメソッドを備えても良い。
10 PC、16 LCD、14 メモリ、32 OS、28 画像データ作成モジュール、28A オブジェクト処理部、28B デバイスコンテキストラッパー、35 デバイスコンテキスト、50,51 プリンタ、S スケール。

Claims (12)

  1. ディスプレイと、メモリとを備え、オペレーティングシステムがインストールされた情報処理装置のコンピュータが読み取り可能な制御プログラムであって、前記ディスプレイは、複数のディスプレイ画素から構成されており、
    前記オペレーティングシステムは、描画命令を前記情報処理装置にインストールされたプログラムから入力された場合に、前記メモリに確保された描画領域に、入力された前記描画命令に従ってラスター画像データを描画する描画処理を実行することが可能であり、前記ラスター画像データは、複数の画素データから構成される画像データであり、前記画素データは、画素単位の画像データであり、
    前記オペレーティングシステムは、前記ディスプレイ画素を前記描画領域に描画された前記ラスター画像データに基づいて制御することで、前記描画領域に描画された前記ラスター画像データが示す画像を前記ディスプレイに表示させる表示処理を実行することが可能であり、
    前記制御プログラムは、
    前記コンピュータを、
    前記オペレーティングシステムに前記描画命令を入力すべき描画イベントが発生した場合に、前記描画イベントに対応する描画情報を取得する描画情報取得手段と、
    前記ディスプレイの解像度に係わる特性情報を取得する特性情報取得手段と、
    前記描画情報取得手段が取得した前記描画情報と、拡大描画指示情報と、を入力として前記ラスター画像データを生成するラスター画像データ生成処理を実行するラスター画像データ生成手段と、として機能させ、前記拡大描画指示情報は、前記ラスター画像データ生成手段が前記ラスター画像データ生成処理を実行する場合に、前記特性情報取得手段により取得した前記特性情報に対応する変換倍率である第1変換倍率で前記描画情報が示すラスター画像データを拡大して生成するよう、前記ラスター画像データ生成手段に指示する情報であり、前記ラスター画像データは、拡大して生成されることで、前記第1変換倍率に応じて前記画素データの数を増大させて前記描画領域に生成され、前記第1変換倍率は、前記拡大描画指示情報を含まず前記描画情報を入力として前記ラスター画像データ生成手段が前記ラスター画像データ生成処理を実行した場合に、前記ラスター画像データ生成手段によって生成されるラスター画像データのサイズを1とした場合の変換倍率であり、
    前記コンピュータを、
    縮小表示指示情報を前記オペレーティングシステムに入力する第1入力手段として機能させ、前記縮小表示指示情報は、前記オペレーティングシステムが前記表示処理を実行する場合に、前記第1変換倍率で前記描画領域に描画された前記ラスター画像データが示す画像を縮小して前記ディスプレイに表示するよう、前記オペレーティングシステムに指示する情報であり、
    前記オペレーティングシステムは、
    前記縮小表示指示情報を入力した場合、前記第1変換倍率に基づいて、前記描画領域の論理座標と、前記ディスプレイの前記ディスプレイ画素の物理座標とを対応付け、前記描画領域に描画された前記ラスター画像データの前記画素データに基づいて、対応する前記物理座標の前記ディスプレイ画素を制御することで、前記描画領域に描画された前記ラスター画像データが示す画像を前記ディスプレイに縮小して表示させる前記表示処理を実行することを特徴とする制御プログラム。
  2. 前記特性情報は、
    前記ディスプレイの前記解像度の比率を示すスケールであり、
    前記ラスター画像データ生成手段は、
    前記スケールが1である場合、前記拡大描画指示情報を含まず前記描画情報を入力として前記ラスター画像データ生成処理を実行する、ことを特徴とする請求項1に記載の制御プログラム。
  3. 前記ラスター画像データ生成手段は、
    前記描画情報にベクター画像データを描画する情報が含まれている場合、前記ベクター画像データを前記第1変換倍率で拡大して前記ラスター画像データを生成し、
    前記描画情報に前記ベクター画像データを描画する情報が含まれていない場合、前記描画情報が示すラスター画像データの拡大を、行わないことを特徴とする請求項1又は請求項2に記載の制御プログラム。
  4. 前記ベクター画像データは、スケーラブルフォントの画像データであることを特徴とする請求項3に記載の制御プログラム。
  5. 前記特性情報は、
    前記ディスプレイの前記解像度の比率を示すスケールであり、
    前記ラスター画像データ生成手段は、
    前記スケールに応じた前記第1変換倍率で前記描画情報が示すラスター画像データを生成し、
    前記第1入力手段は、
    前記第1変換倍率で前記描画領域に描画された前記ラスター画像データが示す画像を前記スケールに応じて縮小して前記ディスプレイに表示するよう、前記オペレーティングシステムに指示することを特徴とする請求項1乃至請求項4の何れか1項に記載の制御プログラム。
  6. 前記第1入力手段は、
    前記縮小表示指示情報を、前記オペレーティングシステムが有する関数を用いて前記オペレーティングシステムに入力することを特徴とする請求項1乃至請求項5の何れか1項に記載の制御プログラム。
  7. 前記情報処理装置は、
    画像形成装置に接続され、
    前記オペレーティングシステムは、画像形成領域に記憶された画像形成用画像データに基づいて前記画像形成装置による画像形成を実行するものであり、前記画像形成領域は、前記メモリに確保された領域であり、
    前記制御プログラムは、
    前記コンピュータを、
    前記画像形成領域に記憶された画像形成特性情報と、前記画像形成用画像データと、を含む画像形成命令を前記オペレーティングシステムに入力する第2入力手段と、して機能させ、前記画像形成特性情報は、前記画像形成装置の画像形成における解像度に係わる情報であることを特徴とする請求項1乃至請求項6の何れか1項に記載の制御プログラム。
  8. ディスプレイと、メモリとを備え、オペレーティングシステムがインストールされた情報処理装置のコンピュータが読み取り可能な制御プログラムであって、前記ディスプレイは、複数のディスプレイ画素から構成されており、
    前記オペレーティングシステムは、描画命令を前記情報処理装置にインストールされたプログラムから入力された場合に、前記メモリに確保された描画領域に、入力された前記描画命令に従ってラスター画像データを描画する描画処理を実行することが可能であり、前記ラスター画像データは、複数の画素データから構成される画像データであり、前記画素データは、画素単位の画像データであり、
    前記オペレーティングシステムは、前記ディスプレイ画素を前記描画領域に描画された前記ラスター画像データに基づいて制御することで、前記描画領域に描画された前記ラスター画像データが示す画像を前記ディスプレイに表示させる表示処理を実行することが可能であり、
    前記制御プログラムは、
    前記コンピュータを、
    前記オペレーティングシステムに前記描画命令を入力すべき描画イベントが発生した場合に、前記描画イベントに対応する描画情報を取得する描画情報取得手段と、
    前記ディスプレイの解像度に係わる特性情報を取得する特性情報取得手段と、
    前記描画情報取得手段が取得した前記描画情報と、線幅指示情報と、を含む第1描画命令を前記オペレーティングシステムに入力する第1入力手段として機能させ、前記描画情報は、線を示す画像データの描画を指示する情報であり、前記線幅指示情報は、前記描画命令で指定された前記線の第1線幅を、第2線幅に変更する指示を示す情報であり、前記第2線幅は、前記特性情報に基づいて、前記第1線幅に比べてより細い線幅を特定した情報であることを特徴とする制御プログラム。
  9. 前記特性情報は、
    前記ディスプレイの前記解像度の比率を示すスケールであることを特徴とする請求項8に記載の制御プログラム。
  10. 前記第1入力手段は、
    前記スケールの値がSである場合に、前記第1線幅を1/S倍した値を、前記第2線幅として特定することを特徴とする請求項9に記載の制御プログラム。
  11. 前記第1入力手段は、
    前記描画命令で前記第1線幅が明示的に指定された場合、前記第2線幅を特定せず、前記線幅指示情報により前記第1線幅を第2線幅に変更する指示をせず、
    前記第1入力手段は、
    前記描画命令で前記第1線幅が明示的に指定されない場合、前記第2線幅を特定し、前記線幅指示情報により前記第1線幅を第2線幅に変更する指示をすることを特徴とする請求項8乃至請求項10の何れか1項に記載の制御プログラム。
  12. 前記情報処理装置は、
    ユーザインタフェースを備え、
    前記制御プログラムは、
    前記ユーザインタフェースの入力に応じて、前記ディスプレイに表示する画像を編集するプログラムであり、
    前記描画情報が示す前記線は、前記画像を編集する際に編集作業の補助となる補助線であることを特徴とする請求項8乃至請求項11の何れか1項に記載の制御プログラム。
JP2017178132A 2017-09-15 2017-09-15 制御プログラム Active JP6939304B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017178132A JP6939304B2 (ja) 2017-09-15 2017-09-15 制御プログラム
US16/021,607 US10406827B2 (en) 2017-09-15 2018-06-28 Information processing apparatus, method of controlling the same and non-transitory computer-readable medium storing instructions therefor
US16/523,316 US10583670B2 (en) 2017-09-15 2019-07-26 Method for displaying objects based on display resolution, information processing apparatus for implementing method, and computer-readable medium storing instructions therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017178132A JP6939304B2 (ja) 2017-09-15 2017-09-15 制御プログラム

Publications (2)

Publication Number Publication Date
JP2019053606A JP2019053606A (ja) 2019-04-04
JP6939304B2 true JP6939304B2 (ja) 2021-09-22

Family

ID=65719172

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017178132A Active JP6939304B2 (ja) 2017-09-15 2017-09-15 制御プログラム

Country Status (2)

Country Link
US (2) US10406827B2 (ja)
JP (1) JP6939304B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111651115A (zh) 2020-06-03 2020-09-11 北京小米移动软件有限公司 数值选择方法及装置、终端设备、存储介质
US11275500B1 (en) * 2020-12-30 2022-03-15 Linearity Gmbh Graphics authoring application user interface control

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4347139B2 (ja) * 2004-06-01 2009-10-21 キヤノン株式会社 テレビ装置及びその制御方法
JP4785601B2 (ja) * 2006-04-24 2011-10-05 株式会社沖データ 画像形成装置
JP2008085614A (ja) * 2006-09-27 2008-04-10 Sharp Corp デジタルテレビジョン受信機及びデジタルテレビジョン受信システム
JP5443482B2 (ja) * 2009-05-21 2014-03-19 パナソニック株式会社 グラフィクス描画装置、グラフィクス描画方法、グラフィクス描画プログラム、グラフィクス描画プログラムを記録した記録媒体、グラフィクス描画用集積回路
JP5798343B2 (ja) * 2011-03-10 2015-10-21 株式会社ソニー・コンピュータエンタテインメント 画像処理装置および画像処理方法
JP5924218B2 (ja) 2012-09-28 2016-05-25 ブラザー工業株式会社 テンプレート処理プログラム及びテンプレート処理方法
JP6187077B2 (ja) * 2013-09-18 2017-08-30 セイコーエプソン株式会社 印刷装置、制御システム、及び制御方法
US9940557B2 (en) * 2016-02-08 2018-04-10 Xerox Corporation Document printing using hardware-dependent fonts

Also Published As

Publication number Publication date
US20190344585A1 (en) 2019-11-14
US10406827B2 (en) 2019-09-10
JP2019053606A (ja) 2019-04-04
US10583670B2 (en) 2020-03-10
US20190084319A1 (en) 2019-03-21

Similar Documents

Publication Publication Date Title
US9659107B2 (en) Image processing apparatus, image processing method, and storage medium
JP6939304B2 (ja) 制御プログラム
JP2010130463A (ja) 印刷データ生成装置、印刷装置、及び、印刷データ処理システム
WO2020195332A1 (ja) サポートプログラム、情報処理装置、および印刷方法
CN107015770B (zh) 信息处理设备和打印数据生成方法
JP6482432B2 (ja) 描画命令処理装置および描画命令処理方法
JP2009048473A (ja) 画像検査装置、画像検査方法、及び画像検査プログラム。
JP6330790B2 (ja) 印刷制御システム、印刷制御装置およびプログラム
JP6330488B2 (ja) 情報処理装置、記録システム、及びプログラム
JP6437076B2 (ja) 情報処理装置及びその制御方法とプログラム
US9632737B2 (en) Information processing device, and method and medium for the same
JP6950391B2 (ja) 制御プログラム及び画像データ作成モジュール
JP5010520B2 (ja) トリミング範囲の最適化方法、装置およびプログラム
JP2019053225A (ja) 制御プログラム
JP4305343B2 (ja) 画像処理装置
JP4506371B2 (ja) 画像形成方法及び画像形成装置
JP2011170850A (ja) 情報処理装置及びその制御方法
JP5560934B2 (ja) プリンタドライバ
JP2004213305A (ja) 印刷制御システムおよび情報処理装置および印刷制御方法およびプログラム
JP2012141857A (ja) 情報処理装置、guiプログラム及び記録媒体
JP6939303B2 (ja) 制御プログラム
US10318219B1 (en) Image forming system, image forming apparatus, and image forming method to process reference image with fixed location for variable data printing
JP2023005905A (ja) プログラム、情報処理装置
JP2005182267A (ja) 印刷制御装置
JP2019197327A (ja) 画像処理装置、画像処理方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200331

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210426

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: 20210803

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210816

R150 Certificate of patent or registration of utility model

Ref document number: 6939304

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150