|
34 | 34 | v-if="
|
35 | 35 | showAiDetections !== undefined &&
|
36 | 36 | xOffset !== undefined &&
|
37 |
| - displayRatio && |
| 37 | + displayRatioNoCropping && |
38 | 38 | aiDetails[url].panels?.length
|
39 | 39 | "
|
40 | 40 | class="position-absolute h-100"
|
|
50 | 50 | :key="`ocr-match-${idx}`"
|
51 | 51 | class="position-absolute ocr-match panel"
|
52 | 52 | :style="{
|
53 |
| - left: `${x * displayRatio}px`, |
54 |
| - top: `${y * displayRatio}px`, |
55 |
| - width: `${width * displayRatio}px`, |
56 |
| - height: `${height * displayRatio}px`, |
| 53 | + left: `${x * displayRatioNoCropping}px`, |
| 54 | + top: `${y * displayRatioNoCropping}px`, |
| 55 | + width: `${width * displayRatioNoCropping}px`, |
| 56 | + height: `${height * displayRatioNoCropping}px`, |
57 | 57 | }"
|
58 | 58 | ></div>
|
59 | 59 | <div
|
@@ -178,29 +178,32 @@ const releaseDate = computed(() => {
|
178 | 178 | });
|
179 | 179 |
|
180 | 180 | const displayedWidth = computed(() => book.value?.getSettings().width);
|
| 181 | +const displayedHeight = computed(() => book.value?.getSettings().height); |
181 | 182 |
|
182 | 183 | const xOffset = computed(
|
183 | 184 | () =>
|
| 185 | + displayedHeight.value && |
| 186 | + pageRatio.value && |
184 | 187 | displayedWidth.value &&
|
185 |
| - displayRatio.value && |
186 |
| - coverWidth.value && |
187 |
| - (displayedWidth.value - coverWidth.value * displayRatio.value) / 2 |
| 188 | + (displayedWidth.value - displayedHeight.value * pageRatio.value) / 2 |
188 | 189 | );
|
189 | 190 |
|
190 |
| -const displayRatio = computed( |
| 191 | +const pageRatio = computed(() => coverWidth.value! / coverHeight.value!); |
| 192 | +
|
| 193 | +const displayRatioNoCropping = computed( |
191 | 194 | () =>
|
192 |
| - displayedWidth.value && |
| 195 | + displayedHeight.value && |
193 | 196 | coverHeight.value &&
|
194 |
| - displayedWidth.value / coverHeight.value |
| 197 | + displayedHeight.value / coverHeight.value |
195 | 198 | );
|
196 | 199 |
|
197 | 200 | const firstPanelPosition = (url: string) => {
|
198 | 201 | const { bbox } = aiDetails.value[url].panels[0];
|
199 | 202 | return {
|
200 |
| - left: bbox.x * displayRatio.value!, |
201 |
| - top: bbox.y * displayRatio.value!, |
202 |
| - width: bbox.width * displayRatio.value!, |
203 |
| - height: bbox.height * displayRatio.value!, |
| 203 | + left: bbox.x * displayRatioNoCropping.value!, |
| 204 | + top: bbox.y * displayRatioNoCropping.value!, |
| 205 | + width: bbox.width * displayRatioNoCropping.value!, |
| 206 | + height: bbox.height * displayRatioNoCropping.value!, |
204 | 207 | };
|
205 | 208 | };
|
206 | 209 |
|
|
0 commit comments