Используя ту же идею принятого ответа, я создал эту гексагональную форму для личного использования и решил поделиться сценарием здесь, если это полезно для кого-то другого.
Пример вывода
3]#!/bin/bash
output=~/$(date +%F_%H%M%S).png
temp_screenshot=$(mktemp).png
read -p "Move cursor to center and press Enter"
eval $(xdotool getmouselocation --shell)
x1=$X
y1=$Y
read -p "Move cursor to edge and press Enter"
eval $(xdotool getmouselocation --shell)
x2=$X
y2=$Y
gnome-screenshot -f $temp_screenshot
radius=$(bc -l <<<"sqrt(($x2-$x1)^2+($y2-$y1)^2)")
ca=$(bc -l <<<"$radius/sqrt(3)")
h=$(bc -l <<<"$radius/(sqrt(3)/2)")
P1_x=$(bc <<<"$x1+$ca")
P1_y=$(bc <<<"$y1+$radius")
P2_x=$(bc <<<"$x1+$h")
P2_y=$(bc <<<"$y1")
P3_x=$(bc <<<"$x1+$ca")
P3_y=$(bc <<<"$y1-$radius")
P4_x=$(bc <<<"$x1-$ca")
P4_y=$(bc <<<"$y1-$radius")
P5_x=$(bc <<<"$x1-$h")
P5_y=$(bc <<<"$y1")
P6_x=$(bc <<<"$x1-$ca")
P6_y=$(bc <<<"$y1+$radius")
convert $temp_screenshot -alpha on \
\( +clone -channel a -evaluate multiply 0 -draw \
"polygon $P1_x,$P1_y $P2_x,$P2_y $P3_x,$P3_y $P4_x,$P4_y $P5_x,$P5_y $P6_x,$P6_y" \) \
-compose DstIn -composite -trim "$output"
Процесс в точности совпадает с принятым ответом. В этом случае я просто изменил имя скрипта:
«Сохраните его, например, ~/hexagonal_screenshot.bash, и сделайте его исполняемым с помощью chmod +x ~/hexagonal_screenshot.bash. Когда вы запустите его, сценарий сначала попросит вас переместить указатель мыши на в центральном положении и нажмите «Ввод», а затем переместите его в положение края (неважно, какой сценарий вычисляет радиус с расстояния) и снова нажмите «Ввод». Затем экран мерцает во время снятия снимка (я рекомендую использовать [ f4], это не показывает это нечетное поведение.) и ImageMagick convert используется для обрезки изображения. Выход сохраняется с отметкой времени как имя файла в вашем домашнем каталоге, вы можете изменить это поведение, отредактировав [ f6].
Пример вывода
Если кто-то интересуется математикой, то здесь как я это сделал. Для создания многоугольника с различным количеством ребер или разных фигур с помощью Imagemagick процедура будет одинаковой: выполните математику и добавьте или удалите точки в эту часть кода "polygon $P1_x,$P1_y $P2_x,$P2_y $P3_x,$P3_y $P4_x,$P4_y $P5_x,$P5_y $P6_x,$P6_y".
4]
У меня также проблема, и я сделал переход на 12.04, и это волшебство. Он решен.
должна быть проблема с драйвером или какой-либо модуль управления питанием / демон / служба отсутствует или еще предстоит отполировать, так как настольные компьютеры находятся под Linux