@ -21,6 +21,8 @@
|
||||
Our focus continues to remain on an easy installation experience, and an easy user-interface. While still remaining pretty powerful, in terms of features and speed.
|
||||
|
||||
### Detailed changelog
|
||||
* 2.5.24 - 11 Mar 2023 - Button to load an image mask from a file.
|
||||
* 2.5.24 - 10 Mar 2023 - Logo change. Image credit: @lazlo_vii.
|
||||
* 2.5.23 - 8 Mar 2023 - Experimental support for Mac M1/M2. Thanks @michaelgallacher, @JeLuf and vishae!
|
||||
* 2.5.23 - 8 Mar 2023 - Ability to create custom modifiers with thumbnails, and custom categories (and hierarchy of categories). More details - https://github.com/cmdr2/stable-diffusion-ui/wiki/Custom-Modifiers . Thanks @ogmaresca.
|
||||
* 2.5.22 - 28 Feb 2023 - Minor styling changes to UI buttons, and the models dropdown.
|
||||
|
BIN
NSIS/cyborg_flower_girl.bmp
Normal file
After Width: | Height: | Size: 565 KiB |
BIN
NSIS/cyborg_flower_girl.ico
Normal file
After Width: | Height: | Size: 223 KiB |
BIN
NSIS/cyborg_flower_girl_icon.png
Normal file
After Width: | Height: | Size: 454 KiB |
BIN
NSIS/cyborg_flower_girl_orig.jpeg
Normal file
After Width: | Height: | Size: 46 KiB |
@ -161,9 +161,9 @@ FunctionEnd
|
||||
; MUI Settings
|
||||
;---------------------------------------------------------------------------------------------------------
|
||||
!define MUI_ABORTWARNING
|
||||
!define MUI_ICON "sd.ico"
|
||||
!define MUI_ICON "cyborg_flower_girl.ico"
|
||||
|
||||
!define MUI_WELCOMEFINISHPAGE_BITMAP "astro.bmp"
|
||||
!define MUI_WELCOMEFINISHPAGE_BITMAP "cyborg_flower_girl.bmp"
|
||||
|
||||
; Welcome page
|
||||
!define MUI_WELCOMEPAGE_TEXT "This installer will guide you through the installation of Easy Diffusion.$\n$\n\
|
||||
|
@ -95,7 +95,7 @@ if "%ERRORLEVEL%" EQU "0" (
|
||||
set PYTHONNOUSERSITE=1
|
||||
set PYTHONPATH=%INSTALL_ENV_DIR%\lib\site-packages
|
||||
|
||||
call python -m pip install --upgrade sdkit==1.0.44 -q || (
|
||||
call python -m pip install --upgrade sdkit==1.0.47 -q || (
|
||||
echo "Error updating sdkit"
|
||||
)
|
||||
)
|
||||
@ -106,7 +106,7 @@ if "%ERRORLEVEL%" EQU "0" (
|
||||
set PYTHONNOUSERSITE=1
|
||||
set PYTHONPATH=%INSTALL_ENV_DIR%\lib\site-packages
|
||||
|
||||
call python -m pip install sdkit==1.0.44 || (
|
||||
call python -m pip install sdkit==1.0.47 || (
|
||||
echo "Error installing sdkit. Sorry about that, please try to:" & echo " 1. Run this installer again." & echo " 2. If that doesn't fix it, please try the common troubleshooting steps at https://github.com/cmdr2/stable-diffusion-ui/wiki/Troubleshooting" & echo " 3. If those steps don't help, please copy *all* the error messages in this window, and ask the community at https://discord.com/invite/u9yhsFmEkB" & echo " 4. If that doesn't solve the problem, please file an issue at https://github.com/cmdr2/stable-diffusion-ui/issues" & echo "Thanks!"
|
||||
pause
|
||||
exit /b
|
||||
|
@ -81,7 +81,7 @@ if python ../scripts/check_modules.py sdkit sdkit.models ldm transformers numpy
|
||||
export PYTHONNOUSERSITE=1
|
||||
export PYTHONPATH="$INSTALL_ENV_DIR/lib/python3.8/site-packages"
|
||||
|
||||
python -m pip install --upgrade sdkit==1.0.44 -q
|
||||
python -m pip install --upgrade sdkit==1.0.47 -q
|
||||
fi
|
||||
else
|
||||
echo "Installing sdkit: https://pypi.org/project/sdkit/"
|
||||
@ -89,7 +89,7 @@ else
|
||||
export PYTHONNOUSERSITE=1
|
||||
export PYTHONPATH="$INSTALL_ENV_DIR/lib/python3.8/site-packages"
|
||||
|
||||
if python -m pip install sdkit==1.0.44 ; then
|
||||
if python -m pip install sdkit==1.0.47 ; then
|
||||
echo "Installed."
|
||||
else
|
||||
fail "sdkit install failed"
|
||||
|
@ -25,8 +25,9 @@
|
||||
<div id="top-nav">
|
||||
<div id="logo">
|
||||
<h1>
|
||||
<img id="logo_img" src="/media/images/icon-512x512.png" >
|
||||
Easy Diffusion
|
||||
<small>v2.5.23 <span id="updateBranchLabel"></span></small>
|
||||
<small>v2.5.24 <span id="updateBranchLabel"></span></small>
|
||||
</h1>
|
||||
</div>
|
||||
<div id="server-status">
|
||||
|
@ -214,3 +214,10 @@
|
||||
.image-editor-popup h4 {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.image-editor-popup .load_mask {
|
||||
display: none;
|
||||
}
|
||||
.inpainter .load_mask {
|
||||
display: flex;
|
||||
}
|
@ -27,6 +27,11 @@ code {
|
||||
padding: 2px 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
#logo_img {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
transform: translateY(4px);
|
||||
}
|
||||
#prompt {
|
||||
width: 100%;
|
||||
height: 65pt;
|
||||
@ -324,6 +329,7 @@ div.img-preview img {
|
||||
#logo {
|
||||
display: inline;
|
||||
padding: 12px;
|
||||
padding-top: 8px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
#logo h1 {
|
||||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 329 KiB After Width: | Height: | Size: 352 KiB |
@ -117,6 +117,42 @@ const IMAGE_EDITOR_TOOLS = [
|
||||
]
|
||||
|
||||
const IMAGE_EDITOR_ACTIONS = [
|
||||
{
|
||||
id: "load_mask",
|
||||
name: "Load mask from file",
|
||||
className: "load_mask",
|
||||
icon: "fa-regular fa-folder-open",
|
||||
handler: (editor) => {
|
||||
let el = document.createElement('input')
|
||||
el.setAttribute("type", "file")
|
||||
el.addEventListener("change", function() {
|
||||
if (this.files.length === 0) {
|
||||
return
|
||||
}
|
||||
|
||||
let reader = new FileReader()
|
||||
let file = this.files[0]
|
||||
|
||||
reader.addEventListener('load', function(event) {
|
||||
let maskData = reader.result
|
||||
|
||||
editor.layers.drawing.ctx.clearRect(0, 0, editor.width, editor.height)
|
||||
var image = new Image()
|
||||
image.onload = () => {
|
||||
editor.layers.drawing.ctx.drawImage(image, 0, 0, editor.width, editor.height)
|
||||
}
|
||||
image.src = maskData
|
||||
})
|
||||
|
||||
if (file) {
|
||||
reader.readAsDataURL(file)
|
||||
}
|
||||
})
|
||||
|
||||
el.click()
|
||||
},
|
||||
trackHistory: true
|
||||
},
|
||||
{
|
||||
id: "fill_all",
|
||||
name: "Fill all",
|
||||
@ -457,6 +493,9 @@ class ImageEditor {
|
||||
var element = document.createElement("div")
|
||||
var icon = document.createElement("i")
|
||||
element.className = "image-editor-button button"
|
||||
if (action.className) {
|
||||
element.className += " " + action.className
|
||||
}
|
||||
icon.className = action.icon
|
||||
element.appendChild(icon)
|
||||
element.append(action.name)
|
||||
|