Mercurial > hg > orthanc-stone
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 { |