THINKPHP3.2.3实现后台自定义图片上传配置
THINKPHP3.2.3实现后台自定义图片上传格式、大小;添加水印的条件(宽度大于多少高度大于多少才会添加水印)、水印类型(文字和图片)、水印文字的颜色和大小,水印图片上传,水印的位置以及透明度的配置 演示地址请访问http://www.gouguoyin.cn/php/32.html
THINKPHP3.2.3实现后台自定义图片上传格式、大小;添加水印的条件(宽度大于多少高度大于多少才会添加水印)、水印类型(文字和图片)、水印文字的颜色和大小,水印图片上传,水印的位置以及透明度的配置
演示地址请访问http://www.gouguoyin.cn/php/32.html
ThinkPHP
下面开始教程 一、数据库 首页要在数据库创建一个网站配置表,各个字段说明如下 CREATE TABLE IF NOT EXISTS `go_config` ( `id` int(10) NOT NULL AUTO_INCREMENT, `field` varchar(255) NOT NULL COMMENT '属性字段', `title` varchar(255) NOT NULL COMMENT '字段标题', `mark` varchar(255) NOT NULL COMMENT '备注信息,主要用于placeholder显示', `field_type` varchar(255) NOT NULL DEFAULT 'string' COMMENT '字段类型,string:字符串 longstring:长字符串 phone:手机号 email:邮箱 url:链接地址 bool:布尔 text:多行文本 editor:编辑器 pic:图片 file:文件,默认string', `config_type` varchar(255) NOT NULL DEFAULT 'site' COMMENT '配置类型', `value` varchar(255) NOT NULL COMMENT '字段值', `is_system` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否是系统字段,0:否 1:是 ,系统字段无法删除', `is_required` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否必填,1:必填 0:非必填,默认0', `sort` int(10) NOT NULL DEFAULT '1' COMMENT '排序', `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态,1:正常,0:回收站,默认1', `add_time` datetime NOT NULL COMMENT '添加时间', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`), UNIQUE KEY `field` (`field`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='系统配置表' AUTO_INCREMENT=1 ; 二、控制器 在项目的application/Admin/Controller/目录下建立ConfigController.class.php控制器,代码如下 <?php /** * alltosun.com ConfigController.class.php * ============================================================================ * 版权所有 (C) 2014-2016 GoCMS内容管理系统 * 官方网站: http://www.gouguoyin.cn * 联系方式: QQ:245629560 * ---------------------------------------------------------------------------- * 许可声明:这是一个开源程序,未经许可不得将本软件的整体或任何部分用于商业用途及再发布。 * ============================================================================ * $Author: 勾国印 (phper@gouguoyin.cn) $ * $Date: 2015-4-17 下午3:27:55 $ * $Id$ */ namespace Admin\Controller; use Think\Controller; class ConfigController extends Controller { //上传设置 public function upload() { $this->display('config_upload'); } //保存上传配置 public function upload_save() { $data = I('post.'); foreach ($data as $k => $v) { $result = M('Config')->where(array('field' => $k))->save(array('value' => $v)); } $this->success('上传设置保存成功', U('Admin/Config/upload')); } } 三、视图模板 在项目的application/Admin/View/Config目录下建立config_upload.html的模板,代码如下 {include file="Public/header" title="上传设置"/} {include file="Public/sidebar"/} <!-- 颜色选择器 --> <link rel="stylesheet" href="CSS/jquery.bigcolorpicker.css" type="text/css"> <script type="text/javascript" src="JS/jquery.bigcolorpicker.min.js"></script> <!-- 主内容 start --> <div id="content" class="span10"> <!-- 标题 start --> <div class="pageTit page-header"> <h1 id="编辑上传配置信息">编辑上传配置信息</h1> </div> <!-- 标题 end --> <!-- 内容区块 start --> <div class="formBox"> <form id="addform" action="{:U('Admin/Config/upload_save')}" method="post" enctype="multipart/form-data"> <div class="control-group"> <label>允许上传图片格式:(<font color="red">请用"|"分割格式,例如jpg|png|gif</font>)</label> <input type="text" name="upload_pic_suffix" value="{:getConfigValue('upload_pic_suffix')}" class="form-control js_site_name" placeholder="" datatype="*2-50" nullmsg="请填写允许上传图片格式" errormsg="请填写允许上传图片格式" /> <span class="Validform_checktip"></span> </div> <div class="control-group"> <label>允许上传多媒体格式:(<font color="red">请用"|"分割格式,例如swf|flv|mpg</font>)</label> <input type="text" name="upload_media_suffix" value="{:getConfigValue('upload_media_suffix')}" class="form-control js_site_name" placeholder="" datatype="*2-50" nullmsg="请填写允许上传多媒体格式" errormsg="请填写允许上传多媒体格式" /> <span class="Validform_checktip"></span> </div> <div class="control-group"> <label>允许上传文件格式:(<font color="red">请用"|"分割格式,例如zip|rar|doc|xls</font>)</label> <input type="text" name="upload_file_suffix" value="{:getConfigValue('upload_file_suffix')}" class="form-control js_site_name" placeholder="" datatype="*2-50" nullmsg="请填写允许上传文件格式" errormsg="请填写允许上传文件格式" /> <span class="Validform_checktip"></span> </div> <div class="control-group"> <label>允许上传文件大小限制:(<font color="red">单位:M</font>)</label> <input type="text" name="upload_file_size" value="{:getConfigValue('upload_file_size')}" placeholder="" datatype="n1-2" nullmsg="请填写允许上传文件大小" errormsg="允许上传文件最大不能超过100M" /> <span class="Validform_checktip"></span> </div> <div class="js_thumbBox {if condition="$upload_add_thumb eq 0"}hidden{/if}"> <div class="control-group"> <label>生成缩略图条件:(<font color="red">单位:px</font>)</label> 上传图片宽度大于:<input type="text" name="upload_thumb_pic_width" value="{:getConfigValue('upload_thumb_pic_width')}" placeholder="" datatype="n1-4" nullmsg="请填写上传图片宽度" errormsg="最大不能超过9999px" style="width:50px"/> 上传图片高度大于:<input type="text" name="upload_thumb_pic_height" value="{:getConfigValue('upload_thumb_pic_height')}" placeholder="" datatype="n1-4" nullmsg="请填写上传图片高度" errormsg="最大不能超过9999px" style="width:50px"/> <span class="Validform_checktip"></span> </div> <div class="control-group"> <label>缩略图默认大小:(<font color="red">单位:px</font>)</label> <input type="text" name="upload_thumb_width" value="{:getConfigValue('upload_thumb_width')}" placeholder="" datatype="n1-4" nullmsg="请填写缩略图默认宽度" errormsg="缩略图默认宽度最大9999px" style="width:50px"/> × <input type="text" name="upload_thumb_height" value="{:getConfigValue('upload_thumb_height')}" placeholder="" datatype="n1-4" nullmsg="请填写缩略图默认高度" errormsg="缩略图默认高度最大9999px" style="width:50px"/> <span class="Validform_checktip"></span> </div> </div> <div class="control-group"> <label>添加水印条件:(<font color="red">单位:px</font>)</label> 上传图片宽度大于:<input type="text" name="upload_watermark_pic_width" value="{:getConfigValue('upload_watermark_pic_width')}" placeholder="" datatype="n1-4" nullmsg="请填写上传图片宽度" errormsg="最大不能超过9999px" style="width:50px"/> 上传图片高度大于:<input type="text" name="upload_watermark_pic_height" value="{:getConfigValue('upload_watermark_pic_height')}" placeholder="" datatype="n1-4" nullmsg="请填写上传图片高度" errormsg="最大不能超过9999px" style="width:50px"/> <span class="Validform_checktip"></span> </div> <div class="control-group"> <label>水印类型:</label> <a class="hidden">{$upload_watermark_type = getConfigValue('upload_watermark_type')}</a> <input type="radio" name="upload_watermark_type" class="js_watermarkType" value="1" {if condition="$upload_watermark_type eq 1"}checked{/if}> 文字 <input type="radio" name="upload_watermark_type" class="js_watermarkType" value="2" {if condition="$upload_watermark_type eq 2"}checked{/if}> 图片 </div> <div class="js_textBox {if condition="$upload_watermark_type neq 1"}hidden{/if}"> <div class="control-group"> <label>水印文字:</label> <input type="text" name="upload_watermark_text" value="{:getConfigValue('upload_watermark_text')}" datatype="s1-20" nullmsg="请填写水印文字" errormsg="请输入1-20个字母或汉字" /> <span class="Validform_checktip"></span> </div> <div class="control-group"> <label>水印字体颜色:</label> <input type="text" name="upload_watermark_color" id="js_watermarkColor" value="{:getConfigValue('upload_watermark_color')}" datatype="*7-7" nullmsg="请选择水印字体颜色" errormsg="颜色格式不正确" /> <span class="Validform_checktip"></span> </div> <div class="control-group"> <label>水印字体大小:(<font color="red">单位:px</font>)</label> <input type="text" name="upload_watermark_size" value="{:getConfigValue('upload_watermark_size')}" datatype="n1-2" nullmsg="请填写水印字体大小" /> <span class="Validform_checktip"></span> </div> </div> <div class="js_picBox {if condition="$upload_watermark_type neq 2"}hidden{/if}"> <div class="control-group"> <label>上传水印图片:(<font color="red">点击图片更换水印</font>)</label> <a href="javascript:void(0);" class="js_picBtn" title="点击更换水印"><img src="/static/imghw/default1.png" data-src="{:getConfigValue('upload_watermark')}" class="lazy" id="js_logoBox"upload_watermark')}" style="max-width:90%" alt="THINKPHP3.2.3实现后台自定义图片上传配置" ></a> <input type="hidden" name="upload_watermark" id="js_upload" value="{:getConfigValue('upload_watermark')}"/> </div> <div class="control-group"> <label>水印图片默认大小:(<font color="red">单位:px</font>)</label> <input type="text" name="upload_watermark_width" value="{:getConfigValue('upload_watermark_width')}" placeholder="" datatype="n1-4" nullmsg="请填写缩略图默认宽度" errormsg="缩略图默认宽度最大9999px" style="width:50px"/> × <input type="text" name="upload_watermark_height" value="{:getConfigValue('upload_watermark_height')}" placeholder="" datatype="n1-4" nullmsg="请填写缩略图默认高度" errormsg="缩略图默认高度最大9999px" style="width:50px"/> <span class="Validform_checktip"></span> </div> </div> <div class="control-group"> <label>水印位置:</label> <a class="hidden">{$upload_watermark_position = getConfigValue('upload_watermark_position')}</a> <select class="form-control width-middle" name="upload_watermark_position"> <option value="1" {if condition="$upload_watermark_position eq 1"}selected{/if}>顶部居左</option> <option value="2" {if condition="$upload_watermark_position eq 2"}selected{/if}>顶部居中</option> <option value="3" {if condition="$upload_watermark_position eq 3"}selected{/if}>顶部居右</option> <option value="4" {if condition="$upload_watermark_position eq 4"}selected{/if}>中间居左</option> <option value="5" {if condition="$upload_watermark_position eq 5"}selected{/if}>居中</option> <option value="6" {if condition="$upload_watermark_position eq 6"}selected{/if}>中间居右</option> <option value="7" {if condition="$upload_watermark_position eq 7"}selected{/if}>底部居左</option> <option value="8" {if condition="$upload_watermark_position eq 8"}selected{/if}>底部居中</option> <option value="9" {if condition="$upload_watermark_position eq 9"}selected{/if}>底部居右</option> </select> </div> <div class="control-group"> <label>水印透明度:(<font color="red">单位:%,数值越小越透明</font>)</label> <input type="text" name="upload_watermark_opacity" value="{:getConfigValue('upload_watermark_opacity')}" datatype="n1-2" nullmsg="请填写水印透明度" errormsg="水印透明度只能在0-100之间" /> <span class="Validform_checktip"></span> </div> </div> <div class="control-group"> <img src="/static/imghw/default1.png" data-src="images/loading.gif" class="lazy" style="max-width:90%" / alt="THINKPHP3.2.3实现后台自定义图片上传配置" > <input type="submit" class="btn btn-primary Sub" value="保存" /> </div> </form> </div> <!-- 内容区块 end --> </div> <!-- 主内容 end --> <script> KindEditor.ready(function(K) { var editor = K.editor({ allowFileManager : false, uploadJson: "{:U('Admin/Upload/index')}", }); K('.js_picBtn').click(function() { editor.loadPlugin('image', function() { editor.plugin.imageDialog({ imageUrl : K('#js_logoBox').attr("src"), clickFn : function(url, title, width, height, border, align) { K('#js_logoBox').attr("src","__ROOT__"+url); K('#js_upload').val("__ROOT__"+url); editor.hideDialog(); } }); }); }); }); </script> <script> $(function(){ //颜色选择器 $("#js_watermarkColor").bigColorpicker("js_watermarkColor"); //提交表单合法性验证,这里用了volidform表单验证插件,具体用法请访问官网http://validform.rjboy.cn/ $("#addform").Validform({ tiptype:function(msg,o,cssctl){ if(!o.obj.is("form")){ var objtip=o.obj.siblings(".Validform_checktip"); cssctl(objtip,o.type); objtip.text(msg); } }, label:"label", }); $(".js_watermarkType").change(function(){ var watermarkType = $(".js_watermarkType:checked").val(); if(watermarkType == 1){ $(".js_textBox").show(); $(".js_picBox").hide(); }else{ $(".js_textBox").hide(); $(".js_picBox").show(); } }); }) </script> </div> </div> <!-- 主容器 end --> {include file="Public/footer"/} 四、使用方法 在项目的application/Common/Helper目录(没有Helper目录请自行创建)下建立Upload.class.php助手函数库,代码如下 <?php /** * alltosun.com Upload.class.php * ============================================================================ * 版权所有 (C) 2014-2016 GoCMS内容管理系统 * 官方网站: http://www.gouguoyin.cn * 联系方式: QQ:245629560 * ---------------------------------------------------------------------------- * 许可声明:这是一个开源程序,未经许可不得将本软件的整体或任何部分用于商业用途及再发布。 * ============================================================================ * $Author: 勾国印 (phper@gouguoyin.cn) $ * $Date: 2015-4-17 下午4:06:39 $ * $Id$ */ namespace Common\Helper; class Upload{ static public function index($type='image', $is_thumb=0, $is_water=0) { /* 返回标准数据 */ $return = array('error' => 0); //获取上传类型image、flash、media、file //从数据库获取上传配置信息 $max_size = getConfigValue('upload_file_size')*1024*1024; //允许上传的图片后缀 $upload_pic_suffix = getConfigValue('upload_pic_suffix'); $pic_ext_arr = explode('|', $upload_pic_suffix); //允许上传的多媒体后缀 $upload_media_suffix = getConfigValue('upload_media_suffix'); $media_ext_arr = explode('|', $upload_media_suffix); //允许上传的文件后缀 $upload_file_suffix = getConfigValue('upload_file_suffix'); $file_ext_arr = explode('|', $upload_file_suffix); //生成缩略图默认大小 $upload_thumb_width = getConfigValue('upload_thumb_width'); $upload_thumb_height = getConfigValue('upload_thumb_height'); //水印类型 $upload_watermark_type = getConfigValue('upload_watermark_type'); //文字水印文本 $upload_watermark_text = getConfigValue('upload_watermark_text'); //文字水印颜色 $upload_watermark_color = getConfigValue('upload_watermark_color'); //文字水印大小 $upload_watermark_size = getConfigValue('upload_watermark_size'); $upload_watermark_pic_width = getConfigValue('upload_watermark_pic_width'); $upload_watermark_pic_height = getConfigValue('upload_watermark_pic_height'); //图片水印路径 $upload_watermark = '.'.getConfigValue('upload_watermark'); if(!$upload_watermark){ $upload_watermark = './Public/images/water.png'; } //水印宽度 $upload_watermark_width = getConfigValue('upload_watermark_width'); //水印高度 $upload_watermark_height = getConfigValue('upload_watermark_height'); //水印位置 $upload_watermark_position = getConfigValue('upload_watermark_position'); //水印透明度 $upload_watermark_opacity = getConfigValue('upload_watermark_opacity'); //上传配置 $ext_arr = array( 'image' => $pic_ext_arr, 'media' => $media_ext_arr, 'file' => $file_ext_arr ); $upload = new \Think\Upload(); // 实例化上传类 $upload->maxSize = $max_size; // 设置附件上传大小 $upload->exts = $ext_arr[$type]; // 设置附件上传类型 $upload->savePath = './'.$type. '/'; $file_info = $upload->upload(); if ($file_info) { foreach($file_info as $info){ $file_path = './Uploads'.$info['savepath']. $info['savename']; } //引入图片处理类 $image = new \Think\Image(); $image->open($file_path); $width = $image->width(); $height = $image->height(); //生成缩略图 //$image->crop($upload_thumb_width, $upload_thumb_height, 1)->save('./crop.jpg'); //添加水印 if($is_water && $width >= $upload_watermark_pic_width && $height>= $upload_watermark_pic_height){ if($upload_watermark_type == 2){ //添加图片水印 $image->water($upload_watermark, $upload_watermark_position, $upload_watermark_opacity)->save($file_path); }else{ //添加文字水印 $image->text($upload_watermark_text, './Public/font/vista.ttf', $upload_watermark_size, $upload_watermark_color, $upload_watermark_position)->save($file_path); } } $base_url = './Uploads/'; $return['url'] = substr($base_url, 1).$info['savepath']. $info['savename']; } else { $return['error'] = 1; $return['message'] = $upload->getError(); } exit(json_encode($return)); } } 在控制器里使用方法: 引入助手函数库 use Common\Helper\Upload;调用上传函数 //$is_thumb 是否启用缩略图 ,$is_water是否启用水印 $pic_data = Upload::index($type='image', $is_thumb=0, $is_water=0); $pic_data数组里返回有上传图片的路径url,如果上传失败,则会返回错误代码和错误信息。有了上传图片的路径就可以对上传图片进行入库等操作了。 注:为方便大家使用,特将核心代码打包上传,大家请点击“下载源码”按钮下载打包文件。
源码下载地址http://www.gouguoyin.cn/php/32.html


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











소셜 미디어의 지속적인 발전으로 Xiaohongshu는 점점 더 많은 젊은이들이 자신의 삶을 공유하고 아름다운 것을 발견할 수 있는 플랫폼이 되었습니다. 많은 사용자들이 이미지 게시 시 자동 저장 문제로 고민하고 있습니다. 그렇다면 이 문제를 해결하는 방법은 무엇입니까? 1. Xiaohongshu에 게시할 때 사진이 자동으로 저장되는 문제를 해결하는 방법은 무엇입니까? 1. 캐시 지우기 먼저 Xiaohongshu의 캐시 데이터를 지워볼 수 있습니다. 단계는 다음과 같습니다. (1) Xiaohongshu를 열고 오른쪽 하단에 있는 "내" 버튼을 클릭합니다. (2) 개인 센터 페이지에서 "설정"을 찾아 클릭합니다. 캐시 지우기' 옵션을 선택하고 확인을 클릭하세요. 캐시를 삭제한 후 샤오홍슈에 다시 진입하여 사진을 올려 자동 저장 문제가 해결되었는지 확인해 보세요. 2. Xiaohongshu 버전을 업데이트하여 Xiaohongshu를 확인하세요.

Douyin 짧은 동영상의 인기로 인해 댓글 영역의 사용자 상호 작용이 더욱 다채로워졌습니다. 일부 사용자는 자신의 의견이나 감정을 더 잘 표현하기 위해 댓글로 이미지를 공유하기를 원합니다. 그렇다면 TikTok 댓글에 사진을 게시하는 방법은 무엇입니까? 이 기사에서는 이 질문에 대해 자세히 답변하고 몇 가지 관련 팁과 예방 조치를 제공합니다. 1. Douyin 댓글에 사진을 어떻게 게시하나요? 1. Douyin 열기: 먼저 Douyin 앱을 열고 계정에 로그인해야 합니다. 2. 댓글 영역 찾기: 짧은 동영상을 탐색하거나 게시할 때 댓글을 달고 싶은 위치를 찾아 "댓글" 버튼을 클릭하세요. 3. 댓글 내용 입력: 댓글 영역에 댓글 내용을 입력합니다. 4. 사진 전송 선택: 댓글 내용 입력 인터페이스에 "사진" 버튼 또는 "+" 버튼이 표시됩니다.

Apple의 최근 iPhone은 선명한 디테일, 채도 및 밝기로 추억을 포착합니다. 그러나 때로는 이미지가 덜 선명하게 보일 수 있는 몇 가지 문제가 발생할 수 있습니다. iPhone 카메라의 자동 초점 기능이 크게 발전하여 사진을 빠르게 촬영할 수 있게 되었지만, 특정 상황에서는 카메라가 실수로 잘못된 피사체에 초점을 맞춰 원치 않는 영역에서 사진이 흐릿해질 수 있습니다. iPhone의 사진이 일반적으로 초점이 맞지 않거나 선명도가 부족한 경우 다음 게시물을 통해 사진을 더 선명하게 만드는 데 도움이 될 것입니다. iPhone에서 사진을 더 선명하게 만드는 방법 [6가지 방법] 기본 사진 앱을 사용하여 사진을 정리할 수 있습니다. 더 많은 기능과 옵션을 원하신다면

파워포인트에서는 그림을 하나씩 표시하는 것이 일반적인 기술인데, 이는 애니메이션 효과를 설정하면 가능하다. 이 가이드에서는 기본 설정, 이미지 삽입, 애니메이션 추가, 애니메이션 순서 및 타이밍 조정 등 이 기술을 구현하는 단계를 자세히 설명합니다. 또한 트리거 사용, 애니메이션 속도 및 순서 조정, 애니메이션 효과 미리보기 등의 고급 설정 및 조정이 제공됩니다. 이러한 단계와 팁을 따르면 사용자는 PowerPoint에서 그림이 차례로 표시되도록 쉽게 설정할 수 있으므로 프레젠테이션의 시각적 효과가 향상되고 청중의 관심을 끌 수 있습니다.

일부 네티즌들은 브라우저 웹페이지를 열었을 때 웹페이지의 사진이 오랫동안 로드되지 않는다는 사실을 발견했습니다. 네트워크가 정상인지 확인했는데 무엇이 문제인가요? 아래 편집기에서는 웹 페이지 이미지를 로드할 수 없는 문제에 대한 6가지 해결 방법을 소개합니다. 웹페이지 이미지를 로드할 수 없습니다: 1. 인터넷 속도 문제 웹페이지에 이미지가 표시되지 않습니다. 이는 컴퓨터의 인터넷 속도가 상대적으로 느리고 컴퓨터에 열려 있는 소프트웨어가 더 많기 때문일 수 있습니다. 로딩 시간 초과로 인해 사진이 표시되지 않을 수 있습니다. 네트워크 속도를 차지하는 소프트웨어를 끄고 작업 관리자에서 확인할 수 있습니다. 2. 방문자가 너무 많으면 웹페이지에 사진이 표시되지 않는 경우, 우리가 방문한 웹페이지가 동시에 방문되었기 때문일 수 있습니다.

Foxit PDF Reader 소프트웨어도 사용하고 계십니까? 그렇다면 Foxit PDF Reader가 PDF 문서를 jpg 이미지로 변환하는 방법을 알고 계십니까? 다음 기사에서는 변환 방법에 관심이 있는 사람들을 위해 Foxit PDF Reader가 PDF 문서를 jpg 이미지로 변환하는 방법을 설명합니다. jpg 이미지를 보려면 아래를 방문하여 살펴보시기 바랍니다. 먼저 Foxit PDF Reader를 시작한 다음 상단 도구 모음에서 "기능"을 찾은 다음 "PDF를 다른 사람에게 보내기" 기능을 선택하십시오. 다음으로 "Foxit PDF 온라인 변환"이라는 웹 페이지를 엽니다. 페이지 오른쪽 상단의 "로그인" 버튼을 클릭하여 로그인한 후 "PDF를 이미지로" 기능을 활성화하세요. 그런 다음 업로드 버튼을 클릭하고 이미지로 변환하려는 PDF 파일을 추가한 후 "변환 시작"을 클릭하세요.

Huawei 휴대폰에서 이중 WeChat 로그인을 구현하는 방법은 무엇입니까? 소셜 미디어의 등장으로 WeChat은 사람들의 일상 생활에 없어서는 안될 커뮤니케이션 도구 중 하나가 되었습니다. 그러나 많은 사람들이 동일한 휴대폰에서 동시에 여러 WeChat 계정에 로그인하는 문제에 직면할 수 있습니다. Huawei 휴대폰 사용자의 경우 듀얼 WeChat 로그인을 달성하는 것은 어렵지 않습니다. 이 기사에서는 Huawei 휴대폰에서 듀얼 WeChat 로그인을 달성하는 방법을 소개합니다. 우선, 화웨이 휴대폰과 함께 제공되는 EMUI 시스템은 듀얼 애플리케이션 열기라는 매우 편리한 기능을 제공합니다. 앱 듀얼 오픈 기능을 통해 사용자는 동시에

WPS 사무용 소프트웨어를 사용할 때 하나의 양식만 사용되는 것이 아니라 텍스트에 표와 그림을 추가할 수 있고 표에 그림도 추가할 수 있다는 사실을 발견했습니다. 이 모든 것이 함께 사용되어 전체 문서의 내용을 구성합니다. 문서에 두 개의 그림을 삽입하고 나란히 정렬해야 하는 경우 더 풍부해 보입니다. 다음 과정에서는 이 문제를 해결할 수 있습니다: wps 문서에 두 장의 그림을 나란히 배치하는 방법입니다. 1. 먼저 WPS 소프트웨어를 열고 조정하려는 사진을 찾아야 합니다. 사진을 마우스 왼쪽 버튼으로 클릭하면 메뉴 표시줄이 나타나며 "페이지 레이아웃"을 선택합니다. 2. 텍스트 줄 바꿈에서 "Tight 줄 바꿈"을 선택합니다. 3. 필요한 모든 사진이 "단단한 텍스트 줄 바꿈"으로 설정되었는지 확인한 후 사진을 적절한 위치로 끌어서 첫 번째 사진을 클릭할 수 있습니다.
