[Opfc-developer 79] Re: indexed color -> RGB の変換問題

Back to archive index

Tatsuya Saito saito****@mxd*****
2007年 9月 4日 (火) 18:51:31 JST


TO:大谷殿

齋藤@NECソフト新潟支社第五SIグループです。
いつもお世話になっております。

対応ありがとうございました。

2007/09/04 18:16:27 +0900にKoji Otani <sho****@bbr*****>さんに頂いた
「Re: indexed color -> RGB の変換問題」への返事です。
>斉藤さん。
>大谷です。
>ありがとうございます。
>
>SVNのリポジトリを修正しました。
>
>From: Tatsuya Saito <saito****@mxd*****>
>Subject: indexed color -> RGB の変換問題
>Date: Mon, 3 Sep 2007 12:22:42 +0900
>Message-ID: <20070****@mail*****>
>
>saitou-t> TO:大谷殿
>saitou-t> 
>saitou-t> 齋藤@NECソフト新潟支社第五SIグループです。
>saitou-t> いつもお世話になっております。
>saitou-t> 
>saitou-t> OPVP1.0のテスト中にindexed colorのビットマップデータで印刷不正が発生しました。
>saitou-t> 原因はopvpStartDrawImage()のsourcePitchに渡される値と、実際に送られてくる
>saitou-t> データのサイズに不整合があることのようです。
>saitou-t> 
>saitou-t> 印刷不正が発生したデータは、opvp_image_plane_data():L4014にきた段階で、
>saitou-t> vinfo->width = 577
>saitou-t> vinfo->height = 555
>saitou-t> color_index == gs_color_space_index_Indexed
>saitou-t> bits_per_pixel = 1
>saitou-t> となっています。
>saitou-t> L3816、3817で計算している、opvpStartDrawImage()のsourcePitchへ渡すadj_raster 
>saitou-t> の計算結果は1732になります。
>saitou-t>  adj_raster = (((24 * 577) + 31) >> 5) << 2
>saitou-t>             = 1732
>saitou-t> 一方、L4014で計算しているopvpTransferDrawImage()で渡すデータのサイズは、
>saitou-t> data_bytes=73で来るため1752となります。
>saitou-t>  data_bytes = (1 * 577 + 7) >> 3
>saitou-t>             = 73
>saitou-t>  dst_length = ((73 * 3 * 8) + 3) >> 2 << 2
>saitou-t>             = 1752
>saitou-t> このため、sourcePitchを元にopvpTransferDrawImage()で転送されたデータを
>saitou-t> 処理すると不正になります。
>saitou-t> 本来は、L4073同様各ピクセルあたり3バイトとしてdata_bytesを計算するべき
>saitou-t> だと思います。
>saitou-t> 
>saitou-t> 修正パッチを作成して添付しましたので、お忙しいところ申し訳ありませんが、
>saitou-t> ご確認をお願いいたします。
>saitou-t> ESP GS8.15+修正したGluecodeで、NPDLドライバのOPVP1.0RC4対応版、OPVP0.2
>saitou-t> 対応版、Canonさんのドライバ(WEBアップされているもの)で正しく印刷できることを
>saitou-t> 確認しています。
>saitou-t> #修正前は、NPDLドライバのOPVP1.0RC4対応版、Canonさんのドライバで
>saitou-t> #不正な印刷となりました。
>saitou-t> 
>saitou-t> 以上、よろしくお願いいたします。
>saitou-t> 
>saitou-t> ------------------------------------------------
>saitou-t> 齋藤 達也
>saitou-t> NECソフト株式会社 新潟支社 第五SIグループ
>saitou-t> ------------------------------------------------




Opfc-developer メーリングリストの案内
Back to archive index