赞
踩
Borisvl有一个JPedal图书馆的分支
其中包含速度改进,我相信它也应该修复你的错误.
编辑:该错误与简单范围检查有关.基本上,您需要阻止GetPixel访问位图范围之外的x,y值.
在调用getPixel之前,您需要确保满足以下条件
col> = 0且col< bitmap.width
row> = 0且row< bitmap.height 这是一些带有几个小范围检查的Delphi代码.我自己无法测试Java代码,但您需要对src / org / jpedal / jbig2 / image / JBIG2Bitmap.java进行更改
procedure TJBIG2Bitmap.combine(bitmap: TJBIG2Bitmap; x, y: Integer; combOp: Int64);
...
...
var
begin
srcWidth := bitmap.width;
srcHeight := bitmap.height;
srcRow := 0;
srcCol := 0;
if (x < 0) then x := 0;
if (y < 0) then y := 0;
for row := y to Min(y + srcHeight - 1, Self.height - 1) do // <<<<<<<< HERE
begin
for col := x to x + srcWidth - 1 do
begin
srcPixel := bitmap.getPixel(srcCol, srcRow);
安德鲁.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。