mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-02-10 18:05:41 +08:00
djvu fix coords
This commit is contained in:
@ -228,6 +228,10 @@
|
||||
{
|
||||
var lenRec = buffer[index] | buffer[index + 1] << 8 | buffer[index + 2] << 16 | buffer[index + 3] << 24;
|
||||
index += 4;
|
||||
var _Link = "".fromUtf8(buffer, index, lenRec);
|
||||
index += lenRec;
|
||||
lenRec = buffer[index] | buffer[index + 1] << 8 | buffer[index + 2] << 16 | buffer[index + 3] << 24;
|
||||
index += 4;
|
||||
var _X = parseFloat("".fromUtf8(buffer, index, lenRec));
|
||||
index += lenRec;
|
||||
lenRec = buffer[index] | buffer[index + 1] << 8 | buffer[index + 2] << 16 | buffer[index + 3] << 24;
|
||||
@ -242,10 +246,6 @@
|
||||
index += 4;
|
||||
var _H = parseFloat("".fromUtf8(buffer, index, lenRec));
|
||||
index += lenRec;
|
||||
lenRec = buffer[index] | buffer[index + 1] << 8 | buffer[index + 2] << 16 | buffer[index + 3] << 24;
|
||||
index += 4;
|
||||
var _Link = "".fromUtf8(buffer, index, lenRec);
|
||||
index += lenRec;
|
||||
|
||||
res.push({ X : _X * 1.015, Y : _Y * 1.015, W : _W, H : _H, Link : _Link});
|
||||
}
|
||||
|
||||
@ -104,8 +104,8 @@ static DWORD GetLength(BYTE* x)
|
||||
|
||||
int main()
|
||||
{
|
||||
#define XPS_TEST 1
|
||||
#define DJVU_TEST 0
|
||||
#define XPS_TEST 0
|
||||
#define DJVU_TEST 1
|
||||
#if XPS_TEST
|
||||
BYTE* pXpsData = NULL;
|
||||
DWORD nXpsBytesCount;
|
||||
|
||||
@ -590,8 +590,8 @@ BYTE* CDjVuFileImplementation::GetPageLinks (int nPageIndex, const
|
||||
|
||||
CData oRes;
|
||||
oRes.SkipLen();
|
||||
double dKoefX = (double)nRasterW * dPageDpiX / 25.4 / dWidth;
|
||||
double dKoefY = (double)nRasterH * dPageDpiY / 25.4 / dHeight;
|
||||
double dKoefX = (double)nRasterW / dWidth;
|
||||
double dKoefY = (double)nRasterH / dHeight;
|
||||
for (GPosition pos(map_areas); pos; ++pos)
|
||||
{
|
||||
GUTF8String str = map_areas[pos]->url;
|
||||
@ -599,12 +599,12 @@ BYTE* CDjVuFileImplementation::GetPageLinks (int nPageIndex, const
|
||||
double x = map_areas[pos]->get_xmin() * dKoefX;
|
||||
std::string s = std::to_string(x);
|
||||
oRes.WriteString((BYTE*)s.c_str(), s.length());
|
||||
double y = map_areas[pos]->get_ymin() * dKoefY;
|
||||
double y = (double)nRasterH - map_areas[pos]->get_ymin() * dKoefY;
|
||||
s = std::to_string(y);
|
||||
oRes.WriteString((BYTE*)s.c_str(), s.length());
|
||||
s = std::to_string(map_areas[pos]->get_xmax() * dKoefX - x);
|
||||
oRes.WriteString((BYTE*)s.c_str(), s.length());
|
||||
s = std::to_string(map_areas[pos]->get_ymax() * dKoefY - y);
|
||||
s = std::to_string((double)nRasterH - map_areas[pos]->get_ymax() * dKoefY - y);
|
||||
oRes.WriteString((BYTE*)s.c_str(), s.length());
|
||||
}
|
||||
oRes.WriteLen();
|
||||
|
||||
@ -197,6 +197,7 @@
|
||||
var lenRec = buffer[index] | buffer[index + 1] << 8 | buffer[index + 2] << 16 | buffer[index + 3] << 24;
|
||||
index += 4;
|
||||
var _Link = "".fromUtf8(buffer, index, lenRec);
|
||||
index += lenRec;
|
||||
lenRec = buffer[index] | buffer[index + 1] << 8 | buffer[index + 2] << 16 | buffer[index + 3] << 24;
|
||||
index += 4;
|
||||
var _X = parseFloat("".fromUtf8(buffer, index, lenRec));
|
||||
|
||||
Reference in New Issue
Block a user