fix: preview field missing in image

This commit is contained in:
jialin
2025-03-06 11:55:16 +08:00
parent 4c5946e8da
commit 25d70b7b49
4 changed files with 32 additions and 8 deletions
+27 -4
View File
@@ -1,3 +1,4 @@
import { KeyMap } from '@/config/hotkeys';
import { import {
ClearOutlined, ClearOutlined,
CloseOutlined, CloseOutlined,
@@ -787,6 +788,19 @@ const CanvasImageEditor: React.FC<CanvasImageEditorProps> = ({
}; };
}, []); }, []);
const handleDeleteMask = () => {
clearUploadMask?.();
setInvertMask(false);
redrawStrokes(strokesRef.current);
};
useEffect(() => {
if (maskUpload?.length) {
// clear the overlay canvas
clearOverlayCanvas();
}
}, [maskUpload]);
return ( return (
<div className="editor-wrapper"> <div className="editor-wrapper">
<div className="flex-between"> <div className="flex-between">
@@ -812,7 +826,7 @@ const CanvasImageEditor: React.FC<CanvasImageEditorProps> = ({
vertical={false} vertical={false}
defaultValue={lineWidth} defaultValue={lineWidth}
min={10} min={10}
max={60} max={100}
onChange={handleBrushSizeChange} onChange={handleBrushSizeChange}
/> />
</div> </div>
@@ -822,7 +836,16 @@ const CanvasImageEditor: React.FC<CanvasImageEditorProps> = ({
<FormatPainterOutlined className="font-size-14" /> <FormatPainterOutlined className="font-size-14" />
</Button> </Button>
</Tooltip> </Tooltip>
<Tooltip title={intl.formatMessage({ id: 'common.button.undo' })}> <Tooltip
title={
<span>
[{KeyMap.UNDO.textKeybinding}]
<span className="m-l-5">
{intl.formatMessage({ id: 'common.button.undo' })}
</span>
</span>
}
>
<Button <Button
onClick={undo} onClick={undo}
size="middle" size="middle"
@@ -864,7 +887,7 @@ const CanvasImageEditor: React.FC<CanvasImageEditorProps> = ({
... ...
</span> </span>
<Button <Button
onClick={clearUploadMask} onClick={handleDeleteMask}
size="small" size="small"
type="text" type="text"
icon={<CloseOutlined className="close-btn"></CloseOutlined>} icon={<CloseOutlined className="close-btn"></CloseOutlined>}
@@ -947,7 +970,7 @@ const CanvasImageEditor: React.FC<CanvasImageEditorProps> = ({
<div <div
ref={cursorRef} ref={cursorRef}
style={{ style={{
display: 'none', display: disabled ? 'none' : 'block',
position: 'fixed', position: 'fixed',
width: lineWidth * activeScale, width: lineWidth * activeScale,
height: lineWidth * activeScale, height: lineWidth * activeScale,
+1
View File
@@ -9,6 +9,7 @@ const KeybindingsMap = {
SUBMIT: ['Ctrl+Enter', 'Meta+Enter'], SUBMIT: ['Ctrl+Enter', 'Meta+Enter'],
SAVEAS: ['Alt+Ctrl+S', 'Alt+Meta+S'], SAVEAS: ['Alt+Ctrl+S', 'Alt+Meta+S'],
OPEN: ['Alt+Ctrl+O', 'Alt+Meta+O'], OPEN: ['Alt+Ctrl+O', 'Alt+Meta+O'],
UNDO: ['Ctrl+Z', 'Meta+Z'],
CANCEL: ['Ctrl+W', 'Meta+W'], CANCEL: ['Ctrl+W', 'Meta+W'],
DELETE: ['delete'], DELETE: ['delete'],
COPY: ['Ctrl+C', 'Meta+C'], COPY: ['Ctrl+C', 'Meta+C'],
@@ -102,7 +102,7 @@ const GroundImages: React.FC<MessageProps> = forwardRef((props, ref) => {
const finalParameters = useMemo(() => { const finalParameters = useMemo(() => {
if (parameters.size === 'custom') { if (parameters.size === 'custom') {
return { return {
..._.omit(parameters, ['width', 'height', 'preview']), ..._.omit(parameters, ['width', 'height', 'preview', 'random_seed']),
size: size:
parameters.width && parameters.height parameters.width && parameters.height
? `${parameters.width}x${parameters.height}` ? `${parameters.width}x${parameters.height}`
@@ -177,7 +177,7 @@ const GroundImages: React.FC<MessageProps> = forwardRef((props, ref) => {
if (!parameters.model) return; if (!parameters.model) return;
const params = generateParams(); const params = generateParams();
setParams({ setParams({
...params, ...parameters,
seed: params.seed seed: params.seed
}); });
@@ -122,7 +122,7 @@ const GroundImages: React.FC<MessageProps> = forwardRef((props, ref) => {
const finalParameters = useMemo(() => { const finalParameters = useMemo(() => {
if (parameters.size === 'custom') { if (parameters.size === 'custom') {
return { return {
..._.omit(parameters, ['width', 'height', 'preview']), ..._.omit(parameters, ['width', 'height', 'preview', 'random_seed']),
image: imageFile, image: imageFile,
mask: maskFile, mask: maskFile,
size: size:
@@ -203,7 +203,7 @@ const GroundImages: React.FC<MessageProps> = forwardRef((props, ref) => {
if (!parameters.model) return; if (!parameters.model) return;
const params = generateParams(); const params = generateParams();
setParams({ setParams({
...params, ...parameters,
seed: params.seed seed: params.seed
}); });