我想知道如何使用php中的canvas更改图像位置
我正在尝试将图片内的内容显示在右下角
for($i=0;$i<$request->tables_count;$i++)
{
$milliseconds = round(microtime(true) * 1000);
$qrCodeName = 'storage/uploads/restaurants/' . $milliseconds . "-" . Carbon::now()->toDateString() . '.png';
$newTable=Table::create([
'qr_code' => $qrCodeName,
'num_table' => $i+1,
'status' => 1,
'restaurant_id' =>$restaurant->id,
]);
$numTableImage = Image::canvas(100, 350)->fill('rgba(0, 0, 0, 0.5)');
$numTableImage->text($newTable->num_table, 100, 200, function($font) {
$font->file(public_path('templates/backOffice/restaurant/fonts/OpenSans-Bold.ttf'));
$font->size(100);
$font->color('#fdf6e3');
$font->align('center');
});
$numTableImage->save('storage/uploads/restaurants/table'.$newTable->num_table.'.png');
$qrCode = str_random(10) . "-" . $newTable->id;
$data = $numTableImage->encode();
QrCode::format('png')->mergeString($data)->size(450)->generate($qrCode, $qrCodeName);
}
答案 0 :(得分:0)
如果我了解您在做什么,...为什么不在canvas
内添加div
元素,然后在{{1}之后添加span
}?
canvas
这样,您可以使用CSS定位轻松地将数字图像/图像放置在右下角。
这里的答案:Position Relative vs Absolute?对于理解CSS定位很有用。
该解决方案对您有用吗?还是您有约束力呢?
或者如果它们是在画布中创建的单独元素,请执行相同的操作,但是按照<style>
div {
position:relative;
}
span {
position: absolute;
bottom:0;
right:0;
}
</style>
<div>
<canvas></canvas>
<span>1</span>
</div>
在画布中设置元素。