comparison Framework/Toolbox/TextRenderer.cpp @ 1230:355dba5352d7

TestRenderer: Add a blank line on top of the text to improve bilinera filtering of the topmost line
author Alain Mazy <alain@mazy.be>
date Mon, 09 Dec 2019 16:37:39 +0100
parents df76d3083031
children 2d8ab34c8c91
comparison
equal deleted inserted replaced
1221:e2435a524029 1230:355dba5352d7
55 Orthanc::Toolbox::Utf8ToUnicodeCharacter(unicode, utf8CharLength, utf8String, posInString); 55 Orthanc::Toolbox::Utf8ToUnicodeCharacter(unicode, utf8CharLength, utf8String, posInString);
56 alphabet->AddUnicodeCharacter(renderer, unicode); 56 alphabet->AddUnicodeCharacter(renderer, unicode);
57 posInString += utf8CharLength; 57 posInString += utf8CharLength;
58 } 58 }
59 59
60 return alphabet->RenderText(utf8String); 60
61 std::auto_ptr<Orthanc::ImageAccessor> renderedText(alphabet->RenderText(utf8String));
62
63 // add a blank line on top of the text (to improve bilinear filtering of the topmost line)
64 std::auto_ptr<Orthanc::Image> renderedTextExtended(new Orthanc::Image(renderedText->GetFormat(), renderedText->GetWidth(), renderedText->GetHeight() + 1, true));
65
66 Orthanc::ImageAccessor textRegion;
67 Orthanc::ImageAccessor firstLineRegion;
68
69 renderedTextExtended->GetRegion(firstLineRegion, 0, 0, renderedText->GetWidth(), 1);
70 Orthanc::ImageProcessing::Set(firstLineRegion, 0);
71
72 renderedTextExtended->GetRegion(textRegion, 0, 1, renderedText->GetWidth(), renderedText->GetHeight());
73 Orthanc::ImageProcessing::Copy(textRegion, *renderedText);
74
75 return renderedTextExtended.release();
61 } 76 }
62 77
63 78
64 Orthanc::ImageAccessor* TextRenderer::RenderWithAlpha(Orthanc::EmbeddedResources::FileResourceId resource, 79 Orthanc::ImageAccessor* TextRenderer::RenderWithAlpha(Orthanc::EmbeddedResources::FileResourceId resource,
65 unsigned int fontSize, 80 unsigned int fontSize,