Mercurial > hg > orthanc-stone
diff Applications/Samples/SingleFrameEditorApplication.h @ 1085:63539e826355
Added TextRenderer
author | Alain Mazy <alain@mazy.be> |
---|---|
date | Tue, 22 Oct 2019 17:24:37 +0200 |
parents | efc5b62b9539 |
children | 3dbdcecccf5d |
line wrap: on
line diff
--- a/Applications/Samples/SingleFrameEditorApplication.h Mon Oct 21 20:52:17 2019 +0200 +++ b/Applications/Samples/SingleFrameEditorApplication.h Tue Oct 22 17:24:37 2019 +0200 @@ -36,10 +36,14 @@ #include "../../Framework/Radiography/RadiographySceneReader.h" #include "../../Framework/Radiography/RadiographyMaskLayer.h" +#include <../../Framework/Toolbox/TextRenderer.h> + #include <Core/HttpClient.h> #include <Core/Images/FontRegistry.h> #include <Core/Logging.h> #include <Core/OrthancException.h> +#include <Core/Images/PngWriter.h> +#include <Core/Images/PngReader.h> // Export using PAM is faster than using PNG, but requires Orthanc @@ -117,12 +121,15 @@ if (tool_ == Tool_Windowing) { return new RadiographyWindowingTracker( - undoRedoStack_, widget.GetScene(), widget, ImageInterpolation_Nearest, - viewportX, viewportY, - RadiographyWindowingTracker::Action_DecreaseWidth, - RadiographyWindowingTracker::Action_IncreaseWidth, - RadiographyWindowingTracker::Action_DecreaseCenter, - RadiographyWindowingTracker::Action_IncreaseCenter); + undoRedoStack_, + widget.GetScene(), + widget, + OrthancStone::ImageInterpolation_Nearest, + viewportX, viewportY, + RadiographyWindowingTracker::Action_DecreaseWidth, + RadiographyWindowingTracker::Action_IncreaseWidth, + RadiographyWindowingTracker::Action_DecreaseCenter, + RadiographyWindowingTracker::Action_IncreaseCenter); } else if (!widget.LookupSelectedLayer(selected)) { @@ -511,6 +518,13 @@ interactor_.SetMaskLayer(maskLayer_); { + std::auto_ptr<Orthanc::ImageAccessor> renderedTextAlpha(TextRenderer::RenderWhiteOnBlack(Orthanc::EmbeddedResources::UBUNTU_FONT, 100, + "%öÇaA&#")); + RadiographyLayer& layer = scene_->LoadAlphaBitmap(renderedTextAlpha.release(), NULL); + dynamic_cast<RadiographyAlphaLayer&>(layer).SetForegroundValue(200); + } + + { RadiographyLayer& layer = scene_->LoadText(fontRegistry_.GetFont(0), "Hello\nworld", NULL); layer.SetResizeable(true); }