mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-04-07 13:55:33 +08:00
Fix coords order
This commit is contained in:
@ -774,16 +774,10 @@ bool CPdfReader::RedactPage(int _nPageIndex, double* arrRedactBox, int nLengthX8
|
|||||||
|
|
||||||
CPdfRedact* pRedact = new CPdfRedact();
|
CPdfRedact* pRedact = new CPdfRedact();
|
||||||
pRedact->m_nPageIndex = _nPageIndex;
|
pRedact->m_nPageIndex = _nPageIndex;
|
||||||
for (int i = 0; i < nLengthX8; i += 8)
|
for (int i = 0; i < nLengthX8 * 8; i += 2)
|
||||||
{
|
{
|
||||||
pRedact->m_arrRedactBox.push_back(arrRedactBox[i + 0] + cropBox->x1);
|
pRedact->m_arrRedactBox.push_back(arrRedactBox[i + 0] + cropBox->x1);
|
||||||
pRedact->m_arrRedactBox.push_back(cropBox->y2 - arrRedactBox[i + 1]);
|
pRedact->m_arrRedactBox.push_back(cropBox->y2 - arrRedactBox[i + 1]);
|
||||||
pRedact->m_arrRedactBox.push_back(arrRedactBox[i + 2] + cropBox->x1);
|
|
||||||
pRedact->m_arrRedactBox.push_back(cropBox->y2 - arrRedactBox[i + 3]);
|
|
||||||
pRedact->m_arrRedactBox.push_back(arrRedactBox[i + 4] + cropBox->x1);
|
|
||||||
pRedact->m_arrRedactBox.push_back(cropBox->y2 - arrRedactBox[i + 5]);
|
|
||||||
pRedact->m_arrRedactBox.push_back(arrRedactBox[i + 6] + cropBox->x1);
|
|
||||||
pRedact->m_arrRedactBox.push_back(cropBox->y2 - arrRedactBox[i + 7]);
|
|
||||||
}
|
}
|
||||||
pRedact->m_pChanges = pChanges;
|
pRedact->m_pChanges = pChanges;
|
||||||
pRedact->m_nChangeLength = nLength;
|
pRedact->m_nChangeLength = nLength;
|
||||||
@ -849,8 +843,8 @@ void CPdfReader::DrawPageOnRenderer(IRenderer* pRenderer, int _nPageIndex, bool*
|
|||||||
pRenderer->put_BrushColor1(lColor);
|
pRenderer->put_BrushColor1(lColor);
|
||||||
pRenderer->PathCommandMoveTo(PdfReader::PDFCoordsToMM(m_vRedact[i]->m_arrRedactBox[j + 0] - cropBox->x1), PdfReader::PDFCoordsToMM(cropBox->y2 - m_vRedact[i]->m_arrRedactBox[j + 1]));
|
pRenderer->PathCommandMoveTo(PdfReader::PDFCoordsToMM(m_vRedact[i]->m_arrRedactBox[j + 0] - cropBox->x1), PdfReader::PDFCoordsToMM(cropBox->y2 - m_vRedact[i]->m_arrRedactBox[j + 1]));
|
||||||
pRenderer->PathCommandLineTo(PdfReader::PDFCoordsToMM(m_vRedact[i]->m_arrRedactBox[j + 2] - cropBox->x1), PdfReader::PDFCoordsToMM(cropBox->y2 - m_vRedact[i]->m_arrRedactBox[j + 3]));
|
pRenderer->PathCommandLineTo(PdfReader::PDFCoordsToMM(m_vRedact[i]->m_arrRedactBox[j + 2] - cropBox->x1), PdfReader::PDFCoordsToMM(cropBox->y2 - m_vRedact[i]->m_arrRedactBox[j + 3]));
|
||||||
pRenderer->PathCommandLineTo(PdfReader::PDFCoordsToMM(m_vRedact[i]->m_arrRedactBox[j + 4] - cropBox->x1), PdfReader::PDFCoordsToMM(cropBox->y2 - m_vRedact[i]->m_arrRedactBox[j + 5]));
|
|
||||||
pRenderer->PathCommandLineTo(PdfReader::PDFCoordsToMM(m_vRedact[i]->m_arrRedactBox[j + 6] - cropBox->x1), PdfReader::PDFCoordsToMM(cropBox->y2 - m_vRedact[i]->m_arrRedactBox[j + 7]));
|
pRenderer->PathCommandLineTo(PdfReader::PDFCoordsToMM(m_vRedact[i]->m_arrRedactBox[j + 6] - cropBox->x1), PdfReader::PDFCoordsToMM(cropBox->y2 - m_vRedact[i]->m_arrRedactBox[j + 7]));
|
||||||
|
pRenderer->PathCommandLineTo(PdfReader::PDFCoordsToMM(m_vRedact[i]->m_arrRedactBox[j + 4] - cropBox->x1), PdfReader::PDFCoordsToMM(cropBox->y2 - m_vRedact[i]->m_arrRedactBox[j + 5]));
|
||||||
pRenderer->PathCommandClose();
|
pRenderer->PathCommandClose();
|
||||||
pRenderer->DrawPath(c_nWindingFillMode);
|
pRenderer->DrawPath(c_nWindingFillMode);
|
||||||
pRenderer->PathCommandEnd();
|
pRenderer->PathCommandEnd();
|
||||||
|
|||||||
@ -198,10 +198,10 @@ bool GlobalParamsAdaptor::InRedact(double dX, double dY)
|
|||||||
double y1 = m_arrRedactBox[i + 1];
|
double y1 = m_arrRedactBox[i + 1];
|
||||||
double x2 = m_arrRedactBox[i + 2];
|
double x2 = m_arrRedactBox[i + 2];
|
||||||
double y2 = m_arrRedactBox[i + 3];
|
double y2 = m_arrRedactBox[i + 3];
|
||||||
double x3 = m_arrRedactBox[i + 4];
|
double x3 = m_arrRedactBox[i + 6];
|
||||||
double y3 = m_arrRedactBox[i + 5];
|
double y3 = m_arrRedactBox[i + 7];
|
||||||
double x4 = m_arrRedactBox[i + 6];
|
double x4 = m_arrRedactBox[i + 4];
|
||||||
double y4 = m_arrRedactBox[i + 7];
|
double y4 = m_arrRedactBox[i + 5];
|
||||||
|
|
||||||
// Проверяем знаки векторных произведений для всех сторон
|
// Проверяем знаки векторных произведений для всех сторон
|
||||||
double cross1 = crossProduct(x1, y1, x2, y2, dX, dY);
|
double cross1 = crossProduct(x1, y1, x2, y2, dX, dY);
|
||||||
|
|||||||
Reference in New Issue
Block a user