精华内容
下载资源
问答
  • (PHP)图片加文字和图片合成

    千次阅读 2017-08-23 19:07:55
    图片加文字 $bigImgPath = 'backgroud.png'; $img = imagecreatefromstring(file_get_contents($bigImgPath)); //字体文件 $font = 'msyhl.ttc'; //字体颜色(RGB) $black = imagecolorallocate($img, 0,

    图片加文字

    <?php
    $bigImgPath = 'backgroud.png';
        $img = imagecreatefromstring(file_get_contents($bigImgPath));
        //字体文件
        $font = 'msyhl.ttc';
        //字体颜色(RGB)
        $black = imagecolorallocate($img, 0, 0, 0);
        //字体大小
        $fontSize = 20;
        //旋转角度
        $circleSize = 60;
        //左边距
        $left = 50;
        //上边距
        $top = 150;
        imagefttext($img, $fontSize, $circleSize, $left, $top, $black, $font, '显示的文字');
        list($bgWidth, $bgHight, $bgType) = getimagesize($bigImgPath);
        switch ($bgType) {
            case 1://gif
                header('Content-Type:image/gif');
                imagegif($img);
                break;
            case 2://jpg
                header('Content-Type:image/jpg');
                imagejpeg($img);
                break;
            case 3://jpg
                header('Content-Type:image/png');
                imagepng($img);
                break;
            default:
                break;
        }
        //销毁照片
        imagedestroy($img);
    ?>

    图片合成

    <?php
    $background = 'backgroud.png';
    $target = 'target.png';
    $background_iamge = imagecreatefromstring(file_get_contents($background));
    $target_image = imagecreatefromstring(file_get_contents($target_image));
    list($target_width, $target_height, $target_type) = getimagesize($target);
    imagecopymerge($background_iamge , $target_image , 200, 300, 0, 0, $target_width, $target_height, 100);
    list($background_width, $background_height, $background_type) = getimagesize($background);
    switch ($background_type) {
        case 1://gif
            header('Content-Type:image/gif');
            imagegif($bigImg);
            break;
        case 2://jpg
            header('Content-Type:image/jpg');
            imagejpeg($bigImg);
            break;
        case 3://jpg
            header('Content-Type:image/png');
            imagepng($bigImg);
            break;
        default:
            break;
    }
    //销毁图片
    imagedestroy($background_iamge);
    //销毁图片
    imagedestroy($target_image);
    ?>

    bool imagecopymerge( resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h, int pct )成功返回TRUE,失败返回FALSE
    参数说明:
    dst_im 目标图像
    src_im 被拷贝的源图像
    dst_x 目标图像开始 x 坐标
    dst_y 目标图像开始 y 坐标,x,y同为 0 则从左上角开始
    src_x 拷贝图像开始 x 坐标
    src_y 拷贝图像开始 y 坐标,x,y同为 0 则从左上角开始拷贝
    src_w (从 src_x 开始)拷贝的宽度
    src_h (从 src_y 开始)拷贝的高度
    pct 图像合并程度,取值 0-100 ,当 pct=0 时,实际上什么也没做,反之完全合并。

    展开全文
  • PIL实现两张图片合成一张,和图片加文字文章目录:一、PIL实现两张图片合成一张1、方法一:2、方法二二、图片添加文字 首先说明一下: (小姐姐是谁,是my sweetheart ,请勿使用,谢谢!!!) 一、PIL...

    PIL实现两张图片合成一张,和图片加文字

    文章目录:


    首先说明一下:
    (小姐姐是谁,是my sweetheart ,请勿使用,谢谢!!!)

    一、PIL实现两张图片合成一张

    1、方法一:

    使用说明:

    主要是通过吧图片转换成RGBA通道,增加一个透明度,这样就可以通过调节两张图片的透明度的比例大小,然后实现两张图片同时显示。
    blended_img = img1 * (1 – alpha) + img2* alpha 进行。


    注意:

    • 两张图片的尺寸大小要一直
    • 如果是jpg格式图片,要转换成RGBA格式,png本身就是含有透明度的
    __Author__ = 'Shliang'
    
    from PIL import Image
    
    def blend_images1():
        img1 = Image.open("test_img/1482928474796.jpg")
        img1 = img1.convert('RGBA')
    
        img2 = Image.open("test_img/7104436331f8db26-1.jpg")
        img2 = img2.convert('RGBA')
        img2 = img2.resize(img1.size)
        print(img2.size)
    
        img = Image.blend(img1, img2, 0.3)
        img.show()
        img.save("blend1.png")
    
    if __name__ == "__main__":
        blend_images1()
    

    显示效果:
    在这里插入图片描述

    2、方法二

    __Author__ = 'Shliang'
    
    from PIL import Image
    
    # 该接口使用掩码(mask)的形式对两幅图像进行合并。
    def blend_images2():
        img1 = Image.open("test_img/1482928474796.jpg")
        img1 = img1.convert('RGBA')
    
        img2 = Image.open("test_img/7104436331f8db26-1.jpg")
        img2 = img2.convert('RGBA')
    
        r, g, b, alpha = img2.split()
        alpha = alpha.point(lambda i: i > 0 and 204)  # 204起到的效果和使用blend()接口时的0.3类似。
        print("=========", alpha)  # <PIL.Image.Image image mode=L size=751x1334 at 0x1B517958160>
    
        img = Image.composite(img2, img1, alpha)
    
        img.show()
        img.save("blend2.png")
    
    
    if __name__ == "__main__":
        blend_images2()
    

    显示效果:
    在这里插入图片描述

    二、图片添加文字

    from PIL import Image, ImageDraw, ImageFont
    
    def images_add_test(image_path):
    
        img = Image.open(image_path)
        print(img.size)  # (300, 300)
        draw = ImageDraw.Draw(img)  # 生成绘制对象draw
        typeface = ImageFont.truetype('xindexingcao57.ttf', 18)  # 参数: 字体  字体大小
    
        # darw.text()回执文字并生成图片
        draw.text((75, 150), "我的意中人\n   会踩着七彩祥云来接我", fill=(255, 0, 0),
                  font=typeface)    # 参数: 位置  文字   文字颜色  字体
        img.show()
        img.save("result.png")  # 保存
    
    
    if __name__ == "__main__":
        images_add_test("emotion.jpeg")
    
    

    原图:
    在这里插入图片描述
    加上文字之后的效果图:
    在这里插入图片描述


    在这里插入图片描述


    在这里插入图片描述


    在这里插入图片描述
    ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠

    展开全文
  • 求大神指点,我想要那个加入购物车在图片的右下角,文字图片的右上角。 文字的已经搞定了, 但是加入购物车那个按钮的位置怎么都搞不定。 ![图片说明]...
  • 自定义带图片文字说明的Dialog

    千次阅读 2018-03-06 15:00:54
    // 提示文字 tipTextView.setText(msg);// 设置加载信息 ProgressDialog = new Dialog(context, R.style.MyDialogStyle);// 创建自定义样式dialog ProgressDialog.setCancelable(true); // 是否可以按“返回键”...

    开发中想要实现如下效果,这就得自定义Dialog了,


    1.首先定义Dialog显示的布局内容 : toast_motify_succeed.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="@dimen/x763"
        android:layout_height="@dimen/x441"
        android:gravity="center"
        android:background="@drawable/shape_conner_white_bg"
        android:orientation="vertical">
    
        <ImageView
            android:layout_width="@dimen/x114"
            android:layout_height="@dimen/x114"
            android:background="@drawable/icon_success" />
    
        <TextView
            android:id="@+id/tv_toast_content"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="@dimen/x62"
            android:text="登录密码重置成功"
            android:textColor="#2f97e9"
            android:textSize="@dimen/text_size_18" />
    </LinearLayout>

    其中背景shape为:

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android" >
          <corners android:radius="4dp" />
          <solid
           android:color="@android:color/white"
           />
    </shape>

    2.创建自定义Dialog的样式styles

    <style name="MyDialogStyle">
            <item name="android:windowBackground">@android:color/transparent</item>
            <item name="android:windowFrame">@null</item>
            <item name="android:windowNoTitle">true</item>
            <item name="android:windowIsFloating">true</item>
            <item name="android:windowIsTranslucent">true</item>
            <item name="android:windowContentOverlay">@null</item>
            <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
            <item name="android:backgroundDimEnabled">true</item>
        </style>

    3.定义显示Dialog的常用类DialogUtils

    public class DialogUtils {
        private static TextView tipTextView;
        private static Dialog ProgressDialog;
    public static void showCompleteDialog(Context context,String msg){
            LayoutInflater inflater = LayoutInflater.from(context);
            View v = inflater.inflate(R.layout.toast_motify_succeed, null);// 得到加载view
            tipTextView = v.findViewById(R.id.tv_toast_content);// 提示文字
            tipTextView.setText(msg);// 设置加载信息
    
            ProgressDialog = new Dialog(context, R.style.MyDialogStyle);// 创建自定义样式dialog
            ProgressDialog.setCancelable(true); // 是否可以按“返回键”消失
            ProgressDialog.setCanceledOnTouchOutside(true); // 点击加载框以外的区域
            ProgressDialog.setContentView(v, new LinearLayout.LayoutParams(
                    LinearLayout.LayoutParams.MATCH_PARENT,
                    LinearLayout.LayoutParams.MATCH_PARENT));// 设置布局
            /**
             *将显示Dialog的方法封装在这里面
             */
            Window window = ProgressDialog.getWindow();
            WindowManager.LayoutParams lp = window.getAttributes();
            lp.width = 520;
            lp.height = 280;
            lp.y=-150;
            window.setGravity(Gravity.CENTER_HORIZONTAL);
            window.setAttributes(lp);
            window.setWindowAnimations(R.style.PopWindowAnimStyle);
            ProgressDialog.show();
        }
    }

    最后在需要显示Dialog的地方直接使用即可,

    DialogUtils.showCompleteDialog(this,"密码重置成功!");




    展开全文
  •  上一篇我们实现了瀑布流,进一步的我们又想实现图片加文字卡片式的瀑布形式,由于自己是第一次涉及,初次想到了用画布的形式实现,当然还有其他更高级的方法可以更加完美的实现,但本文不深入研究,仅说明自己的...

     最近总算有空了,可以写一下之前自己学习bmob的一些收获,延续上篇的工作展开说明。

      上一篇我们实现了瀑布流,进一步的我们又想实现图片加文字卡片式的瀑布形式,由于自己是第一次涉及,初次想到了用画布的形式实现,当然还有其他更高级的方法可以更加完美的实现,但本文不做深入研究,仅说明自己的实现方法,方法比较笨,请见谅。用画布的形式实现比较简单,虽然比较简陋,先来一张效果图:

      实现的形式简单粗暴,具体用到了canvas的图像拼接,文字添加这两块知识。具体实现过程如下:

      首先从bmob服务器获得图片以瀑布流形式实现,获取一张图片的尺寸大小,

    int width =response.getWidth(), hight =response.getHeight();
    System.out.println("宽"+width+"高"+hight);

      再重新绘制一张画布:

    Bitmap icon=Bitmap.createBitmap(response.getWidth(),response.getHeight()+114, Bitmap.Config.ARGB_8888); //建立一个空的BItMap   
    Canvas canvas = new Canvas(icon);//初始化画布绘制的图像到icon上

    这里高度大小自己定为了  “response.getHeight()+114”,宽度不变,跟获取的图片宽度一致。

    然后将获取的图片先画入画布:

    Paint photoPaint = new Paint(); //建立画笔  
    photoPaint.setDither(true); //获取跟清晰的图像采样  
    photoPaint.setFilterBitmap(true);//过滤一些  
                     
    Rect src = new Rect(0, 0, response.getWidth(),response.getHeight());//创建一个指定的新矩形的坐标  
    Rect dst = new Rect(0, 0, width, hight);//创建一个指定的新矩形的坐标  
    canvas.drawBitmap(response, src, dst, photoPaint);//将photo 缩放或则扩大到 dst使用的填充区photoPaint       

    画完服务器的图片,再进行拼接文字的背景图,这里的背景图片直接从本地获取(当然也可以从网络或其他途径获取),获取的图片要转化为bitmap格 式: 

    Drawable mDrawable=MainActivity1.this.getResources().getDrawable(R.drawable.fenf);
    Bitmap mBitmap = ((BitmapDrawable) mDrawable).getBitmap();
    之后画入画布:
    src = new Rect(0, 0, mBitmap.getWidth(), mBitmap.getHeight());// 截取bmp1中的矩形区域
    dst = new Rect(0, hight, width,
                    response.getHeight()+114);// bmp2在目标画布中的位置
    canvas.drawBitmap(mBitmap, src, dst, photoPaint);

    最后把文字画入即可:

    TextPaint textPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG | Paint.DEV_KERN_TEXT_FLAG);//设置画笔  
    textPaint.setTextSize(24.0f);//字体大小  
    textPaint.setTypeface(Typeface.DEFAULT_BOLD);//采用默认的宽度  
    textPaint.setColor( Color.WHITE);//采用的颜色  Color.GREEN
    //textPaint.setShadowLayer(3f, 1, 1,this.getResources().getColor(android.R.color.background_dark));//阴影的设置  
    StaticLayout layout = new StaticLayout("『主题』"+str1,textPaint,icon.getWidth(),Alignment.ALIGN_NORMAL,1.0F,0.0F,false);               
    canvas.translate(0,response.getHeight()+4);
    layout.draw(canvas); 
    canvas.save(Canvas.ALL_SAVE_FLAG); 
    canvas.restore(); 
    itemImage.setImageBitmap(icon);

      以上就是大体步骤。最后仿照上述方法实现了点击这个图片进行阅读的效果,如图:


      具体流程就是这样,有问题可以私信本作者,欢迎交流一起学习。接下来的博客作者将写一下基于bmob实现发帖与评论的一些学习心得,会继续努力~!谢谢~

    展开全文
  • 转载:(中文翻译者)[http://blog.csdn.net/chen790646223/article/details/49766659] (原文链接)...下面介绍了n中为图片添加文字的方法。 # 利用layout函数分割屏幕 layout(matrix(c(1,1,2,2), 2, 2, b...
  • ASP.NET(C#)图片加文字、图片水印

    万次阅读 2009-04-29 15:07:00
    ASP.NET(C#)图片加文字、图片水印一、图片上加文字://using System.Drawing;//using System.IO;//using System.Drawing.Imaging;private void AddTextToImg(string fileName,string text){ if(!File.Exists(MapPath...
  • html,图片下面附加文字说明

    万次阅读 2015-06-06 10:43:29
    可以实现如论文中,图片下面附加说明,用于“帮助文档” <td align="center"><img src="picture/projectModel.png" width="300" height="300" /> <td align="center"><img src="picture/designModel.png" ...
  • 设置图片标题 图片标题1 图片标题1 设置图片标题 图片标题2 图片标题2
  • 工作中做图时时常要用到为画出的图添加文字说明,无意中看到有个外国的高级投资策略师写的博客提出了一种方法,所以分享给大家,尊重原创,博客原文:http://datascienceplus.com/adding-text-to-r-plot/
  • 在上一篇 中,只是实现一个perference,但是点击以后没有响应事件,我们可以定义一个一个Dialog,Dialog选项里面需要有图片文字说明,后面还需要一个单选按钮,所以自己写了一个demo,效果图如下: 功能的完成是...
  • 最近在浏览网页时,看到一些图片,鼠标一放上去呢,就会有说明文字“浮”上来,移开又“沉”下去,感觉好炫!自己就在网上找实现代码啊,看看事件是怎么实现的!然后就找到了如下的代码: 蚂蚁部落 ....
  • MUI 图片预览并在底部添加文字说明

    千次阅读 2018-04-19 10:06:04
    效果图如下: 实现方法如下: 1.引入相关css .mui-preview-image.mui-fullscreen {  position: fixed;  z-index: 20;  background-color: #000;...4.初始化图片预览插件:<script>mui.previewImage();</script>
  • 使用itext加图片水印或文字水印

    千次阅读 2018-02-01 10:35:18
    概述:使用itext 技术给pdf水印方法。 实现原理:在不管是流还是临时pdf 预览之前。需先 生成不带水印的pdf,然后在通过itext工具...工具类代码及说明:分图片水印和文字水印,可根据具体需求使用。 package com.
  • 最近项目中在实名认证,要给图片添加水印,在网上找了一些博客,但是鱼龙混杂,首先说明下,有的博客说的方法实现了一下发现不可以。现在我就把我找的可以实现的几种方法贴在下边即可。以下方法我都亲自试过可以:
  • 图片加文字 卡片 阴影
  • 请问div中图片下方的说明文字如何能添加的上去呀?我查了好久都没有搞出来,请大神指教,谢谢。代码及现在效果图如下: 交叉口建模 ...
  • matlab给图片插入说明文字

    千次阅读 2018-11-02 18:03:00
    text(cluster(20).center(1),cluster(20).center(2),num2str(20),'color','k') ...格式是text(x,y,'说明文字') x,y代表位置 转载于:https://www.cnblogs.com/yibeimingyue/p/9897651.html...
  • jquery.qrcode二维码加文字描述和图片

    千次阅读 2019-07-04 09:25:01
    你害怕一件事,可还是要去,那才是勇敢 一、下载 链接:https://pan.baidu.com/s/1nFb1Poi5Fd-ELcJphh2A8g 提取码:ciwm 如果链接失效,请联系QQ:194760901 二、使用 工程目录截图 test.html <!...
  • 软件不需要安装,直接双击打开就可以用,废话不多说直接上图好了,方便说明问题 ...PDF文件文字识别怎么弄,现将PDF拆成图片了个功能批量PDF拆成图片后批量导入图片再识别 开发语言C#、基...
  • 这篇文章主要介绍了Android实现文字图片混排的方法,实例分析了文字环绕图片... 在平时我们项目中,或许有要对一张图片或者某一个东西进行文字图片说明,这时候要求排版美观,所以会出现文字图片混排的情况,如
  • 图片说明文字显示在图片之上且背景半透明效果 body { text-align: center; font-family:Verdana; font-size:14px; } .img-demo { position: relative; display: block; height...
  • swipper轮播图怎么插入文字说明

    千次阅读 2020-04-30 15:33:20
    1. 在轮播图项中添加div结构,用来存放图片说明文字(注意这是自己添加的结构,因此类名啥的可以自定义) 2.修改类名为swiper-container的div的position为relative 3.修改具体的css样式就好了,如top、left、font...
  • 注:安装说明、使用说明、关于等更多详细信息,请访问官方网址。 360网盘下载地址:http://yunpan.cn/cQxUtTJDPP5GI 访问密码 1e30 软件直接下载地址:http://pcm.chujianyun.com/libs/my/do
  • C# 实现水印图片或者文字,压缩图片
  • qrcode二维码生成,可插图片文字

    千次阅读 2017-06-16 16:33:47
    qrcode二维码生成,可插图片文字
  • GifUtil给gif图片添加文字图片水印

    千次阅读 2018-01-11 17:43:30
    gif4j给gif图片添加文字图片水印 最近在一个给gif图片添加图片水印的工作,在网上查了下好多童鞋推荐使用gif4j。在此将自己的使用过程在此下笔记。 操作步骤 下载gif4j jar 官方下载地址: ...
  • javaCV图像处理之1:实时视频添加文字水印并截取视频图像保存成图片,实现文字水印的字体、位置、大小、粗度、翻转、平滑等操作 javaCV图像处理之2:实时视频添加图片水印,实现不同大小图片叠加,图像透明度控制 ...
  • 请替换代码中的图片 需要引入两个包 cnpm install qrcanvas --save cnpm install html2canvas --save <!-- 分享图片生成 --> <template> <div class="container"> <div ...
  • java使用zxing生成带logo,文字说明二维码

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 99,247
精华内容 39,698
关键字:

如何做图片加文字说明