问题描述
我一直在为一个使用Mac OS X的人建立一个网站,偶尔他会给我发错误的截图。它们看起来像这样:
这是Mac截图的典型特征。你得到窗户装饰,窗户的阴影和白色或透明的背景(不是桌面壁纸 – 我已经检查过)。
将其与Ubuntu window-shot(Alt
+ Print screen
)进行比较:
保持一张正直的面孔是不可能的,并说Ubuntu就像优雅一样。
我的问题是:是否有一个应用程序可以在Ubuntu中执行此操作?
编辑:跟进:是否有一个应用程序可以一次性执行此操作?快门非常好,但是为每个屏幕截图运行插件都很烦人,因为它似乎不记得我的偏好(我想要南方阴影,需要选择南方,然后点击刷新,然后保存),它的点击次数比我更多我喜欢。
是否有一种简单的方法来告诉快门我想要south-shadow所有截图(除了整个桌面和area-selection)?
最佳解决方案
使用Shutter
-
首先去编辑 – >首选项并勾选下面提到的两个选项。
-
现在获取一个窗口和right-click的屏幕截图,然后选择运行一个插件。
-
现在选择Hard Shadow并运行它。
-
您的最终屏幕截图将如下所示。
使用gnome-screenshot
-
从短划线启动’Take Screenshot’并选择“包含窗口边框”和效果下降’Shadow’或’Border’,然后截取屏幕截图。
-
使用终端(
Ctrl
+Alt
+T
)粘贴gnome-screenshot -w -b -d 5 -e边框
其中5是秒的延迟,边界可以用’Drop Shadow’的阴影替换。
次佳解决方案
Shutter
你可以在快门中实现这一点。要抓取整个窗口,包括装饰,您可以右键单击通知图标,然后单击“光标下的窗口”或从应用程序窗口中单击窗口图标(工具栏左侧第4个)。然后,您可以使用鼠标选择一个窗口以获取该窗口的屏幕截图。
要使圆形窗口装饰看起来更好,请进入编辑 – >首选项,单击’Advanced’选项卡并勾选’强制圆角窗口’。
要添加阴影效果,请在截取屏幕截图后,单击屏幕截图 – >运行插件…并选择’Hard Shadow’,然后单击’Run’。
然后,您可以编辑阴影的选项,然后单击’Save’以应用效果。
最终结果如下所示:
第三种解决方案
KWIN(KDE的窗口管理器)最近增加了一个功能:https://svn.reviewboard.kde.org/r/4814/ KWIN通过DBUS提供API。如果您使用的是KDE,您只需使用KSnapshot获取类似的截图(“光标下的窗口”)。
如果我们想在Unity(或经典桌面)中使用此功能,Compiz需要为其提供API。我已经写了一个功能请求:https://bugs.launchpad.net/unity/+bug/781280
我也很乐意为Shutter实现它;-)
第四种方案
KSnapshot
来自KDE的一个非常棒的应用程序,只需按PrtScreen制作屏幕截图,就不需要插件或任何其他复杂的东西。我不确定它是否适用于Ubuntu但是在Kubuntu上它的效果非常好。这是”official”页面的链接:http://kde.org/applications/graphics/ksnapshot/
要在Ubuntu上安装它,请尝试写入终端:sudo apt-get install ksnapshot
第五种方案
使用scrot
和imagemagick
定制自动解决方案
概观
scrot
是一个高度可定制的CLI屏幕截图实用程序。在此示例中,我们利用其功能将屏幕截图传递到外部程序,以便使用imagemagick
添加漂亮的阴影效果。
注意:此方法在Unity下无法正常工作,并且很可能不会对任何其他具有圆形边框的WM起作用。您仍然可以捕捉图像,但投影不仅会应用于窗口,还会应用于背景的某些部分。您可以通过将scrot
替换为gnome-screenshot
来解决此问题,并相应地调整脚本。
样品拍摄
Dropshadow脚本
#!/bin/bash
# NAME: dropshadow.sh
# VERSION:
# AUTHOR: (c) 2013 Glutanimate
# DESCRIPTION: - adds transparent dropshadow to images (e.g. screenshots)
# - moves them to predefined screenshot folder
# FEATURES:
# DEPENDENCIES: imagemagick suite
#
# LICENSE: MIT license (http://opensource.org/licenses/MIT)
#
# NOTICE: THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
# INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
# PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
# OR OTHER DEALINGS IN THE SOFTWARE.
#
#
# USAGE: dropshadow.sh <image>
SCREENSHOTFOLDER="$HOME/Pictures/Screenshots"
FILE="${1}"
FILENAME="${FILE##*/}"
FILEBASE="${FILENAME%.*}"
convert "${FILE}" \( +clone -background black -shadow 80x20+0+15 \) +swap -background transparent -layers merge +repage "$SCREENSHOTFOLDER/${FILEBASE}.png"
rm "$FILE" #remove this line to preserve original image
注意:原始转换为Stephen Connolly的命令行。
如何将其集成到您的系统中
继续将以下命令行绑定到您选择的键上,您应该准备好了:
scrot -szb -e 'dropshadow.sh $f'
如果您像我一样运行LXDE /Openbox,您可以将以下keybind添加到lxde-rc.xml
:
<keybind key="C-Print"><action name="Execute"><execute>scrot -szb -e 'dropshadow.sh $f'</execute></action></keybind>
注意:确保在PATH
中包含dropshadow.sh
或将其替换为文件系统中脚本的实际位置。
用法
点击您在上一步中定义的键盘组合(例如CTRL
+ Print
),然后单击您选择的窗口。
第六种方案
要回答你的follow-up问题(“有没有一种简单的方法告诉快门我想要所有截图的south-shadow?”),遗憾的是没有。有一个开放的request to allow automatically running plugins。
第七种方案
File:screenshot_window.sh(/home /)
#!/bin/bash
#Take Screenshot Of Current Window
#facebook.com/NguyenChanhDai.1408
FOLDER="$HOME/Pictures/Screenshots"
FILENAME=`date +%Y-%m-%d_%H-%M-%S`
gnome-screenshot -w -f $FILENAME #take screenshot of current window using GnomeScreenshot
convert "$FILENAME" \( +clone -background black -shadow 80x20+0+15 \) +swap -background white -layers merge +repage "$FOLDER/$FILENAME.png" #dropshadow using ImageMagick
xclip -selection clipboard -t image/png -i $FOLDER/$FILENAME.png #paste image to clipboard
rm "$FILENAME" #remove file
echo "Success! Copied to Clipboard"
创建文件夹:截图(/home /Pictures /)
按Ctrl + D:捕获当前窗口的屏幕截图,按Ctrl + V:从剪贴板粘贴图像