Skip to content

Commit

Permalink
Merge pull request #78 from datalogics-josepha/translate-fix
Browse files Browse the repository at this point in the history
Fix sample code based on improved usage of Image.Translate()
  • Loading branch information
datalogics-rgailiunas authored Sep 12, 2024
2 parents cccfafb + 7581a71 commit 7be6193
Showing 1 changed file with 22 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
*
* This sample program shows how to use the Extended Graphic State object to add graphics parameters to an image.
*
* Copyright (c) 2007-2023, Datalogics, Inc. All rights reserved.
* Copyright (c) 2007-2024, Datalogics, Inc. All rights reserved.
*
*/
import com.datalogics.PDFL.BlendMode;
Expand Down Expand Up @@ -61,30 +61,41 @@ static void blendPage(Document doc, Image foregroundImage, Image backgroundImage
pgContent = docpage.getContent();
f = new Font("CourierStd", EnumSet.of(FontCreateFlags.EMBEDDED, FontCreateFlags.SUBSET));

double spaceFactor = 18.0;
double heightOffset = height - 88.0;

for (int i = 0; i < 16; i++) {
try {
individualForegroundImage = foregroundImage.clone();
individualBackgroundImage = backgroundImage.clone();

gs = individualForegroundImage.getGraphicState();
individualForegroundImage.scale(0.125, 0.125);
individualForegroundImage.translate(800, 200 + height * (7 - i));
individualBackgroundImage.scale(0.125, 0.125);
individualBackgroundImage.translate(800, 200 + height * (7 - i));

// Halfway through, create 2nd column by shifting over and
// up
if (i > 7) {
individualForegroundImage.translate(2400, height * 8);
individualBackgroundImage.translate(2400, height * 8);
spaceFactor = 18.0;
if (i == 0)
{
spaceFactor = 0;
}
//Halfway through, create 2nd column by shifting over and up
if (i > 7)
{
individualForegroundImage.translate(400, heightOffset - (72.0 + spaceFactor) * (i - 8));
individualBackgroundImage.translate(400, heightOffset - (72.0 + spaceFactor) * (i - 8));
}
else
{
individualForegroundImage.translate(100, heightOffset - (72.0 + spaceFactor) * i);
individualBackgroundImage.translate(100, heightOffset - (72.0 + spaceFactor) * i);
}


m = new Matrix();
if (i > 7) {
m = m.translate(480, 750 - ((i - 8) * 100)); // second
// column
m = m.translate(480, heightOffset - (72.0 + spaceFactor) * (i - 8));// second column
} else {
m = m.translate(180, 750 - (i * 100)); // first column
m = m.translate(180, heightOffset - (72.0 + spaceFactor) * i); // first column
}
m = m.scale(12.0, 12.0);

Expand Down

0 comments on commit 7be6193

Please sign in to comment.