Я получаю прямоугольник, используя плагин выбора:
selection =viewer.selection({
onSelection: function(rect) {
console.log(rect.x);
console.log(rect.y);
console.log(rect.width);
console.log(rect.height);
var elt = document.createElement("div");
elt.id = "runtime-overlay";
elt.className = "highlight";
viewer.addOverlay({
element: elt,
location: viewer.viewport.imageToViewportRectangle(rect)
});
input = "rect_x="+rect.x+"&rect_y="+rect.y+"&rect_w="+rect.width+"&rect_h="+rect.height+"&plink=<?=$plink?>&case_id=<?=$case_id?>&mode=add";
$.ajax({
url : "handlers/H_AnnotationHandler.php",
data : input,
type : "post",
dataType : "json",
success : function(response) {
if (!response.error)
alert("success");
else
alert("failed");
}
});
}
});
И я храню прямоугольник в MySQL через H_AnnotationHandler.php. После этого, когда я пытаюсь использовать эти данные так:
$.ajax({
url : "handlers/H_AnnotationHandler.php",
data : "case_id=<?=$case_id?>&plink=<?=$plink?>&mode=get",
type : "post",
dataType : "json",
success : function (response) {
if (!response.error) {
for (var i = 0; i < response.annots.length; i++) {
var elt = document.createElement("div");
elt.id = "runtime-overlay" + i;
elt.className = "highlight";
viewer.addOverlay({
element: elt,
location : viewer.viewport.imageToViewportRectangle(parseInt(response.annots[i].rect_x), parseInt(response.annots[i].rect_y), parseInt(response.annots[i].rect_w), parseInt(response.annots[i].rect_h))
});
}
}
}
});
это создает разделение наложения во время выполнения, но left, top, height и width кажутся очень неправильными. (27094e + 04 и т. Д.)
примечание: я уверен, что данные sql верны. Я сравниваю это, прежде чем принять.
Задача ещё не решена.
Других решений пока нет …