comparison 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
comparison
equal deleted inserted replaced
1082:8493f5fb6165 1085:63539e826355
34 #include "../../Framework/Radiography/RadiographyWindowingTracker.h" 34 #include "../../Framework/Radiography/RadiographyWindowingTracker.h"
35 #include "../../Framework/Radiography/RadiographySceneWriter.h" 35 #include "../../Framework/Radiography/RadiographySceneWriter.h"
36 #include "../../Framework/Radiography/RadiographySceneReader.h" 36 #include "../../Framework/Radiography/RadiographySceneReader.h"
37 #include "../../Framework/Radiography/RadiographyMaskLayer.h" 37 #include "../../Framework/Radiography/RadiographyMaskLayer.h"
38 38
39 #include <../../Framework/Toolbox/TextRenderer.h>
40
39 #include <Core/HttpClient.h> 41 #include <Core/HttpClient.h>
40 #include <Core/Images/FontRegistry.h> 42 #include <Core/Images/FontRegistry.h>
41 #include <Core/Logging.h> 43 #include <Core/Logging.h>
42 #include <Core/OrthancException.h> 44 #include <Core/OrthancException.h>
45 #include <Core/Images/PngWriter.h>
46 #include <Core/Images/PngReader.h>
43 47
44 48
45 // Export using PAM is faster than using PNG, but requires Orthanc 49 // Export using PAM is faster than using PNG, but requires Orthanc
46 // core >= 1.4.3 50 // core >= 1.4.3
47 #define EXPORT_USING_PAM 1 51 #define EXPORT_USING_PAM 1
115 size_t selected; 119 size_t selected;
116 120
117 if (tool_ == Tool_Windowing) 121 if (tool_ == Tool_Windowing)
118 { 122 {
119 return new RadiographyWindowingTracker( 123 return new RadiographyWindowingTracker(
120 undoRedoStack_, widget.GetScene(), widget, ImageInterpolation_Nearest, 124 undoRedoStack_,
121 viewportX, viewportY, 125 widget.GetScene(),
122 RadiographyWindowingTracker::Action_DecreaseWidth, 126 widget,
123 RadiographyWindowingTracker::Action_IncreaseWidth, 127 OrthancStone::ImageInterpolation_Nearest,
124 RadiographyWindowingTracker::Action_DecreaseCenter, 128 viewportX, viewportY,
125 RadiographyWindowingTracker::Action_IncreaseCenter); 129 RadiographyWindowingTracker::Action_DecreaseWidth,
130 RadiographyWindowingTracker::Action_IncreaseWidth,
131 RadiographyWindowingTracker::Action_DecreaseCenter,
132 RadiographyWindowingTracker::Action_IncreaseCenter);
126 } 133 }
127 else if (!widget.LookupSelectedLayer(selected)) 134 else if (!widget.LookupSelectedLayer(selected))
128 { 135 {
129 // No layer is currently selected 136 // No layer is currently selected
130 size_t layer; 137 size_t layer;
509 mask.push_back(Orthanc::ImageProcessing::ImagePoint(1500, 550)); 516 mask.push_back(Orthanc::ImageProcessing::ImagePoint(1500, 550));
510 maskLayer_ = dynamic_cast<RadiographyMaskLayer*>(&(scene_->LoadMask(mask, dynamic_cast<RadiographyDicomLayer&>(dicomLayer), 128.0f, NULL))); 517 maskLayer_ = dynamic_cast<RadiographyMaskLayer*>(&(scene_->LoadMask(mask, dynamic_cast<RadiographyDicomLayer&>(dicomLayer), 128.0f, NULL)));
511 interactor_.SetMaskLayer(maskLayer_); 518 interactor_.SetMaskLayer(maskLayer_);
512 519
513 { 520 {
521 std::auto_ptr<Orthanc::ImageAccessor> renderedTextAlpha(TextRenderer::RenderWhiteOnBlack(Orthanc::EmbeddedResources::UBUNTU_FONT, 100,
522 "%öÇaA&#"));
523 RadiographyLayer& layer = scene_->LoadAlphaBitmap(renderedTextAlpha.release(), NULL);
524 dynamic_cast<RadiographyAlphaLayer&>(layer).SetForegroundValue(200);
525 }
526
527 {
514 RadiographyLayer& layer = scene_->LoadText(fontRegistry_.GetFont(0), "Hello\nworld", NULL); 528 RadiographyLayer& layer = scene_->LoadText(fontRegistry_.GetFont(0), "Hello\nworld", NULL);
515 layer.SetResizeable(true); 529 layer.SetResizeable(true);
516 } 530 }
517 531
518 { 532 {