Вы не можете только получить размер/длину набора/массива, генерировать случайное число между 0 и размер/длина, затем назвать элемент, индекс которого соответствует тому числу? HashSet имеет .size () метод, я вполне уверен.
В psuedocode -
function randFromSet(target){
var targetLength:uint = target.length()
var randomIndex:uint = random(0,targetLength);
return target[randomIndex];
}
Вы можете объединить два изображения вместе с помощью библиотеки PHP GD2.
Пример:
<?php
# If you don't know the type of image you are using as your originals.
$image = imagecreatefromstring(file_get_contents($your_original_image));
$frame = imagecreatefromstring(file_get_contents($your_frame_image));
# If you know your originals are of type PNG.
$image = imagecreatefrompng($your_original_image);
$frame = imagecreatefrompng($your_frame_image);
imagecopymerge($image, $frame, 0, 0, 0, 0, 50, 50, 100);
# Save the image to a file
imagepng($image, '/path/to/save/image.png');
# Output straight to the browser.
imagepng($image);
?>
Вы можете сделать это с помощью ImageMagick :: Composite . Первой заметки, внесенной пользователем, должно быть достаточно, чтобы понять суть концепции.
Добавьте imagealphablending ($ frame, true);
перед imagecopymerge ()
, если вы хотите сохранить прозрачность кадра PNG поверх изображения.