|
@@ -11,8 +11,11 @@ const { MouseBindings } = cornerstoneTools.Enums;
|
|
|
export class TextAnnotationToolManager {
|
|
export class TextAnnotationToolManager {
|
|
|
/**
|
|
/**
|
|
|
* 激活文本标记工具
|
|
* 激活文本标记工具
|
|
|
|
|
+ * @param viewportId 视口ID
|
|
|
|
|
+ * @param text 文本内容
|
|
|
|
|
+ * @param position 可选的位置参数(canvas坐标),不提供时使用图像中心
|
|
|
*/
|
|
*/
|
|
|
- static activateTextAnnotationTool(viewportId: string,text:string): boolean {
|
|
|
|
|
|
|
+ static activateTextAnnotationTool(viewportId: string, text: string, position?: cornerstone.Types.Point2): boolean {
|
|
|
try {
|
|
try {
|
|
|
// 获取工具组
|
|
// 获取工具组
|
|
|
const toolGroup = this.getToolGroup(viewportId);
|
|
const toolGroup = this.getToolGroup(viewportId);
|
|
@@ -44,7 +47,7 @@ export class TextAnnotationToolManager {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 自动创建一个预设的注解
|
|
// 自动创建一个预设的注解
|
|
|
- this.createDefaultAnnotation(viewportId, text);
|
|
|
|
|
|
|
+ this.createDefaultAnnotation(viewportId, text, position);
|
|
|
|
|
|
|
|
console.log(`[TextAnnotationToolManager] TextAnnotationTool activated for viewport: ${viewportId}`);
|
|
console.log(`[TextAnnotationToolManager] TextAnnotationTool activated for viewport: ${viewportId}`);
|
|
|
return true;
|
|
return true;
|
|
@@ -124,8 +127,11 @@ export class TextAnnotationToolManager {
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 创建默认注解
|
|
* 创建默认注解
|
|
|
|
|
+ * @param viewportId 视口ID
|
|
|
|
|
+ * @param text 文本内容
|
|
|
|
|
+ * @param position 可选的位置参数(canvas坐标),不提供时使用图像中心
|
|
|
*/
|
|
*/
|
|
|
- private static createDefaultAnnotation(viewportId: string,text:string): void {
|
|
|
|
|
|
|
+ private static createDefaultAnnotation(viewportId: string, text: string, position?: cornerstone.Types.Point2): void {
|
|
|
try {
|
|
try {
|
|
|
const toolGroup = this.getToolGroup(viewportId);
|
|
const toolGroup = this.getToolGroup(viewportId);
|
|
|
if (!toolGroup) return;
|
|
if (!toolGroup) return;
|
|
@@ -135,7 +141,8 @@ export class TextAnnotationToolManager {
|
|
|
const defaultAnnotation = TextAnnotationTool.createDefaultAnnotation(
|
|
const defaultAnnotation = TextAnnotationTool.createDefaultAnnotation(
|
|
|
viewport.element as HTMLDivElement,
|
|
viewport.element as HTMLDivElement,
|
|
|
viewport as cornerstone.Types.IStackViewport,
|
|
viewport as cornerstone.Types.IStackViewport,
|
|
|
- text
|
|
|
|
|
|
|
+ text,
|
|
|
|
|
+ position
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
cornerstoneTools.annotation.state.addAnnotation(defaultAnnotation, viewport.element);
|
|
cornerstoneTools.annotation.state.addAnnotation(defaultAnnotation, viewport.element);
|