title('背景图配置')
// ->body($this->buildPreviewButton())
// ->body($this->newline())
->body(
<<{$this->form_userinvite_itc_bg()->render()}
HTML
);
}
protected function form_userinvite_itc_bg(){
$form = new Form();
$form->confirm('您确定要提交表单吗?', 'content');
$form->disableResetButton();
$form->html(function () {
return '
你当前想使用哪个,就把哪个顶到最上面
';
}, '');
$form->html(function () {
return '生成效果图';
}, '');
$form->table('app_user_invite_temp_code_bg','背景图', function (NestedForm $table) {
$table->image('img', '图片')->url('files/uploads')->autoUpload()->uniqueName();
$table->rate('x_rate', 'x轴偏移');
$table->rate('y_rate', 'y轴偏移');
$table->rate('c_rate', '推广码放缩')->default(1.0);
})->default(Settings::get('app_user_invite_temp_code_bg', ''));
$form->action('invite_benefit/action/itc_bg_config');
return $form;
}
public function userinvite_itc_bg_test(Request $request){
$temp_code_bg = Settings::get('app_user_invite_temp_code_bg', []);
if(_empty_($temp_code_bg)){
exit('您没有配置背景图,无法查看效果
');
}
$the_bg = $temp_code_bg[0];
$imageUrl = $the_bg['img'];
$qrCodeUrl = 'https://img.mini.minisns.cn/2024/09/30/0/f733a4ce05d21085e19e4b867626377b.png';
$xPercent = round(($the_bg['x_rate'] ?? 0)/100, 2); // 默认值为0.5
$yPercent = round(($the_bg['y_rate'] ?? 0)/100, 2); // 默认值为0.5
$scale = $the_bg['c_rate'] ?? 1; // 默认值为1
// 加载主图像
$image = Image::make($imageUrl);
// 加载二维码图像
$qrCode = Image::make($qrCodeUrl);
// 调整二维码图像大小
$qrCode->resize($qrCode->width() * $scale, $qrCode->height() * $scale);
// 计算二维码图像在主图像中的位置
$x = $image->width() * $xPercent - ($qrCode->width() / 2);
$y = $image->height() * $yPercent - ($qrCode->height() / 2);
// 将二维码图像粘贴到主图像上
$image->insert($qrCode, 'top-left', intval($x), intval($y));
// 输出图像到屏幕
return $image->response('jpg');
}
public function userinvite_itc_bg(Request $request){
Settings::set('app_user_invite_temp_code_bg', AdminUtils::_table_data($request->input('app_user_invite_temp_code_bg')), true);
return $this->response()->success('成功!');
}
}