simplesoftwareio / simple-qrcode图像处理

时间:2018-12-05 16:20:35

标签: php laravel canvas

我想知道如何使用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);

}

enter image description here

1 个答案:

答案 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> 在画布中设置元素。