mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
fix(ui): save to gallery rect too large
Was including all layer types in the rect - only want the raster layers.
This commit is contained in:
parent
4e74006c5f
commit
41f2ee2633
@ -22,7 +22,7 @@ export const SaveToGalleryButton = memo(() => {
|
|||||||
const onClick = useCallback(async () => {
|
const onClick = useCallback(async () => {
|
||||||
isSaving.setTrue();
|
isSaving.setTrue();
|
||||||
|
|
||||||
const rect = shift ? canvasManager.stateApi.getBbox().rect : canvasManager.stage.getVisibleRect();
|
const rect = shift ? canvasManager.stateApi.getBbox().rect : canvasManager.stage.getVisibleRect('raster_layer');
|
||||||
|
|
||||||
const result = await withResultAsync(() =>
|
const result = await withResultAsync(() =>
|
||||||
canvasManager.compositor.rasterizeAndUploadCompositeRasterLayer(rect, true)
|
canvasManager.compositor.rasterizeAndUploadCompositeRasterLayer(rect, true)
|
||||||
|
@ -2,7 +2,7 @@ import type { CanvasManager } from 'features/controlLayers/konva/CanvasManager';
|
|||||||
import { CanvasModuleABC } from 'features/controlLayers/konva/CanvasModuleABC';
|
import { CanvasModuleABC } from 'features/controlLayers/konva/CanvasModuleABC';
|
||||||
import { CANVAS_SCALE_BY } from 'features/controlLayers/konva/constants';
|
import { CANVAS_SCALE_BY } from 'features/controlLayers/konva/constants';
|
||||||
import { getPrefixedId, getRectUnion } from 'features/controlLayers/konva/util';
|
import { getPrefixedId, getRectUnion } from 'features/controlLayers/konva/util';
|
||||||
import type { Coordinate, Dimensions, Rect } from 'features/controlLayers/store/types';
|
import type { CanvasEntityIdentifier, Coordinate, Dimensions, Rect } from 'features/controlLayers/store/types';
|
||||||
import type Konva from 'konva';
|
import type Konva from 'konva';
|
||||||
import type { KonvaEventObject } from 'konva/lib/Node';
|
import type { KonvaEventObject } from 'konva/lib/Node';
|
||||||
import { clamp } from 'lodash-es';
|
import { clamp } from 'lodash-es';
|
||||||
@ -76,13 +76,17 @@ export class CanvasStageModule extends CanvasModuleABC {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
getVisibleRect = (): Rect => {
|
getVisibleRect = (type?: Exclude<CanvasEntityIdentifier['type'], 'ip_adapter'>): Rect => {
|
||||||
const rects = [];
|
const rects = [];
|
||||||
|
|
||||||
for (const adapter of this.manager.adapters.getAll()) {
|
for (const adapter of this.manager.adapters.getAll()) {
|
||||||
if (adapter.state.isEnabled) {
|
if (!adapter.state.isEnabled) {
|
||||||
rects.push(adapter.transformer.getRelativeRect());
|
continue;
|
||||||
}
|
}
|
||||||
|
if (type && adapter.state.type !== type) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
rects.push(adapter.transformer.getRelativeRect());
|
||||||
}
|
}
|
||||||
|
|
||||||
return getRectUnion(...rects);
|
return getRectUnion(...rects);
|
||||||
|
Loading…
Reference in New Issue
Block a user