精华内容
下载资源
问答
  • 另外你第反应是什么字? 因为可以看出你是什么性格的人!!!答案向下看 田:最好的人 目:最精明的人 由:最善的人 电:最恶的人 旧:最毒的人 甲:最狠的人 申:最狡猾的人 旦:最懒的人 白:最想ML的人 巴:最...

    “日”字加一划,仔细想一想可以想出多少个字,看看你的文字功底.另外你第一反应是什么字?
    因为可以看出你是什么性格的人!!!

    答案向下看

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    田:最好的人
    目:最精明的人
    由:最善的人
    电:最恶的人
    旧:最毒的人
    甲:最狠的人
    申:最狡猾的人
    旦:最懒的人
    白:最想ML的人
    巴:最刁钻古怪、存心找碴的人
    甴:刚从秦始皇陵挖出来的人
     
     

    展开全文
  • 它用图片通俗易懂地解释了,"数字签名"(digital signature)和"数字证书"(digital certificate)到底是什么。 我对这些问题的理解,一直是模模糊糊的,很多细节搞不清楚。读完这篇文章后,发现思路下子就理清了...

    原址:点击打开链接

    (一)对称加密(Symmetric Cryptography)
    对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key),这种方法在密码学中叫做对称加密算法。对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。
    对称加密通常使用的是相对较小的密钥,一般小于256 bit。因为密钥越大,加密越强,但加密与解密的过程越慢。如果你只用1 bit来做这个密钥,那黑客们可以先试着用0来解密,不行的话就再用1解;但如果你的密钥有1 MB大,黑客们可能永远也无法破解,但加密和解密的过程要花费很长的时间。密钥的大小既要照顾到安全性,也要照顾到效率,是一个trade-off。
    2000年10月2日,美国国家标准与技术研究所(NIST--American National Institute of Standards and Technology)选择了Rijndael算法作为新的高级加密标准(AES--Advanced Encryption Standard)。.NET中包含了Rijndael算法,类名叫RijndaelManaged,下面举个例子。
    加密过程:

    private string myData = "hello";
    private string myPassword = "OpenSesame";
    private byte[] cipherText;
    private byte[] salt = { 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1, 0x0 };

    private void mnuSymmetricEncryption_Click(object sender, RoutedEventArgs e)
    {
    var key = new Rfc2898DeriveBytes(myPassword, salt);
    // Encrypt the data.
    var algorithm = new RijndaelManaged();
    algorithm.Key = key.GetBytes(16);
    algorithm.IV = key.GetBytes(16);
    var sourceBytes = new System.Text.UnicodeEncoding().GetBytes(myData);
    using (var sourceStream = new MemoryStream(sourceBytes))
    using (var destinationStream = new MemoryStream())
    using (var crypto = new CryptoStream(sourceStream, algorithm.CreateEncryptor(), CryptoStreamMode.Read))
    {
    moveBytes(crypto, destinationStream);
    cipherText = destinationStream.ToArray();
    }
    MessageBox.Show(String.Format("Data:{0}{1}Encrypted and Encoded:{2}", myData, Environment.NewLine, Convert.ToBase64String(cipherText)));
    }
    private void moveBytes(Stream source, Stream dest)
    {
    byte[] bytes = new byte[2048];
    var count = source.Read(bytes, 0, bytes.Length);
    while (0 != count)
    {
    dest.Write(bytes, 0, count);
    count = source.Read(bytes, 0, bytes.Length);
    }
    }

    解密过程:

    private void mnuSymmetricDecryption_Click(object sender, RoutedEventArgs e)
    {
    if (cipherText == null)
    {
    MessageBox.Show("Encrypt Data First!");
    return;
    }
    var key = new Rfc2898DeriveBytes(myPassword, salt);
    // Try to decrypt, thus showing it can be round-tripped.
    var algorithm = new RijndaelManaged();
    algorithm.Key = key.GetBytes(16);
    algorithm.IV = key.GetBytes(16);
    using (var sourceStream = new MemoryStream(cipherText))
    using (var destinationStream = new MemoryStream())
    using (var crypto = new CryptoStream(sourceStream, algorithm.CreateDecryptor(), CryptoStreamMode.Read))
    {
    moveBytes(crypto, destinationStream);
    var decryptedBytes = destinationStream.ToArray();
    var decryptedMessage = new UnicodeEncoding().GetString(
    decryptedBytes);
    MessageBox.Show(decryptedMessage);
    }
    }

    对称加密的一大缺点是密钥的管理与分配,换句话说,如何把密钥发送到需要解密你的消息的人的手里是一个问题。在发送密钥的过程中,密钥有很大的风险会被黑客们拦截。现实中通常的做法是将对称加密的密钥进行非对称加密,然后传送给需要它的人。

    (二)非对称加密(Asymmetric Cryptography)
    1976年,美国学者Dime和Henman为解决信息公开传送和密钥管理问题,提出一种新的密钥交换协议,允许在不安全的媒体上的通讯双方交换信息,安全地达成一致的密钥,这就是“公开密钥系统”。相对于“对称加密算法”这种方法也叫做“非对称加密算法”。
    非对称加密为数据的加密与解密提供了一个非常安全的方法,它使用了一对密钥,公钥(public key)和私钥(private key)。私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。非对称加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥。比如,你向银行请求公钥,银行将公钥发给你,你使用公钥对消息加密,那么只有私钥的持有人--银行才能对你的消息解密。与对称加密不同的是,银行不需要将私钥通过网络发送出去,因此安全性大大提高。
    目前最常用的非对称加密算法是RSA算法,是Rivest, Shamir, 和Adleman于1978年发明,他们那时都是在MIT。.NET中也有RSA算法,请看下面的例子:
    加密过程:

    private byte[] rsaCipherText;
    private void mnuAsymmetricEncryption_Click(object sender, RoutedEventArgs e)
    {
    var rsa = 1;
    // Encrypt the data.
    var cspParms = new CspParameters(rsa);
    cspParms.Flags = CspProviderFlags.UseMachineKeyStore;
    cspParms.KeyContainerName = "My Keys";
    var algorithm = new RSACryptoServiceProvider(cspParms);
    var sourceBytes = new UnicodeEncoding().GetBytes(myData);
    rsaCipherText = algorithm.Encrypt(sourceBytes, true);
    MessageBox.Show(String.Format("Data: {0}{1}Encrypted and Encoded: {2}",
    myData, Environment.NewLine,
    Convert.ToBase64String(rsaCipherText)));
    }

    解密过程:

    private void mnuAsymmetricDecryption_Click(object sender, RoutedEventArgs e)
    {
    if(rsaCipherText==null)
    {
    MessageBox.Show("Encrypt First!");
    return;
    }
    var rsa = 1;
    // decrypt the data.
    var cspParms = new CspParameters(rsa);
    cspParms.Flags = CspProviderFlags.UseMachineKeyStore;
    cspParms.KeyContainerName = "My Keys";
    var algorithm = new RSACryptoServiceProvider(cspParms);
    var unencrypted = algorithm.Decrypt(rsaCipherText, true);
    MessageBox.Show(new UnicodeEncoding().GetString(unencrypted));
    }

    虽然非对称加密很安全,但是和对称加密比起来,它非常的慢,所以我们还是要用对称加密来传送消息,但对称加密所使用的密钥我们可以通过非对称加密的方式发送出去。为了解释这个过程,请看下面的例子:
    (1) Alice需要在银行的网站做一笔交易,她的浏览器首先生成了一个随机数作为对称密钥。
    (2) Alice的浏览器向银行的网站请求公钥。
    (3) 银行将公钥发送给Alice。
    (4) Alice的浏览器使用银行的公钥将自己的对称密钥加密。
    (5) Alice的浏览器将加密后的对称密钥发送给银行。
    (6) 银行使用私钥解密得到Alice浏览器的对称密钥。
    (7) Alice与银行可以使用对称密钥来对沟通的内容进行加密与解密了。

    (三)总结
    (1) 对称加密加密与解密使用的是同样的密钥,所以速度快,但由于需要将密钥在网络传输,所以安全性不高。
    (2) 非对称加密使用了一对密钥,公钥与私钥,所以安全性高,但加密与解密速度慢。
    (3) 解决的办法是将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通。

    ****************************************************************************************************************************************************************************************

    今天,我读到一篇好文章

    它用图片通俗易懂地解释了,"数字签名"(digital signature)和"数字证书"(digital certificate)到底是什么。

    我对这些问题的理解,一直是模模糊糊的,很多细节搞不清楚。读完这篇文章后,发现思路一下子就理清了。为了加深记忆,我把文字和图片都翻译出来了。

    文中涉及的密码学基本知识,可以参见我以前的笔记

    ====================================================

    数字签名是什么?

    作者:David Youd

    翻译:阮一峰

    原文网址:http://www.youdzone.com/signature.html

    1.

    鲍勃有两把钥匙,一把是公钥,另一把是私钥。

    2.

    鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。

    3.

    苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果。

    4.

    鲍勃收信后,用私钥解密,就看到了信件内容。这里要强调的是,只要鲍勃的私钥不泄露,这封信就是安全的,即使落在别人手里,也无法解密。

    5.

    鲍勃给苏珊回信,决定采用"数字签名"。他写完后先用Hash函数,生成信件的摘要(digest)。

    6.

    然后,鲍勃使用私钥,对这个摘要加密,生成"数字签名"(signature)。

    7.

    鲍勃将这个签名,附在信件下面,一起发给苏珊。

    8.

    苏珊收信后,取下数字签名,用鲍勃的公钥解密,得到信件的摘要。由此证明,这封信确实是鲍勃发出的。

    9.

    苏珊再对信件本身使用Hash函数,将得到的结果,与上一步得到的摘要进行对比。如果两者一致,就证明这封信未被修改过。

    10.

    复杂的情况出现了。道格想欺骗苏珊,他偷偷使用了苏珊的电脑,用自己的公钥换走了鲍勃的公钥。此时,苏珊实际拥有的是道格的公钥,但是还以为这是鲍勃的公钥。因此,道格就可以冒充鲍勃,用自己的私钥做成"数字签名",写信给苏珊,让苏珊用假的鲍勃公钥进行解密。

    11.

    后来,苏珊感觉不对劲,发现自己无法确定公钥是否真的属于鲍勃。她想到了一个办法,要求鲍勃去找"证书中心"(certificate authority,简称CA),为公钥做认证。证书中心用自己的私钥,对鲍勃的公钥和一些相关信息一起加密,生成"数字证书"(Digital Certificate)。

    12.

    鲍勃拿到数字证书以后,就可以放心了。以后再给苏珊写信,只要在签名的同时,再附上数字证书就行了。

    13.

    苏珊收信后,用CA的公钥解开数字证书,就可以拿到鲍勃真实的公钥了,然后就能证明"数字签名"是否真的是鲍勃签的。

    14.

    下面,我们看一个应用"数字证书"的实例:https协议。这个协议主要用于网页加密。

    15.

    首先,客户端向服务器发出加密请求。

    16.

    服务器用自己的私钥加密网页以后,连同本身的数字证书,一起发送给客户端。

    17.

    客户端(浏览器)的"证书管理器",有"受信任的根证书颁发机构"列表。客户端会根据这张列表,查看解开数字证书的公钥是否在列表之内。

    18.

    如果数字证书记载的网址,与你正在浏览的网址不一致,就说明这张证书可能被冒用,浏览器会发出警告。

    19.

    如果这张数字证书不是由受信任的机构颁发的,浏览器会发出另一种警告。

    20.

    如果数字证书是可靠的,客户端就可以使用证书中的服务器公钥,对信息进行加密,然后与服务器交换加密信息。

    (完)


    展开全文
  • 有时候为了文字的美观,我们需要给文字加阴影,或者加边框,这个效果怎么实现呢?... 文字加阴影效果  1、通过xml实现 android:id="@+id/txt_shadom" android:layout_width="wrap_content" an

              有时候为了文字的美观,我们需要给文字加阴影,或者加边框,这个效果怎么实现呢?最近项目里也用到了,这里总结一下。

             一、文字加阴影效果

             1、通过xml实现

      <TextView
            android:id="@+id/txt_shadom"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:shadowColor="#ff0000ff"
            android:shadowDx="2"
            android:shadowDy="2"
            android:shadowRadius="1"
            android:text="Shadom"
            android:textColor="#000000"
            android:textSize="30sp" />

              2、通过代码实现

        //设置阴影效果
            TextView txtShadom =(TextView)findViewById(R.id.txt_shadom);
            txtShadom.setShadowLayer(2,1,1, Color.parseColor("#ff0000"));

          参考文档:关于Paint


    setShadowLayer

    Added in API level 1
    void setShadowLayer (float radius, 
                    float dx, 
                    float dy, 
                    int shadowColor)

    This draws a shadow layer below the main layer, with the specified offset and color, and blur radius. If radius is 0, then the shadow layer is removed.

    Can be used to create a blurred shadow underneath text. Support for use with other drawing operations is constrained to the software rendering pipeline.

    The alpha of the shadow will be the paint's alpha if the shadow color is opaque, or the alpha from the shadow color if not.



              二、文字描边效果

              最近,我们有个需求,要给impact字体加外边框,一开始我的的思路是,这应该是impact的另外一种字体,但是网上都没有找到,后来,通过查找资料,目前加外边框的效果的一种实现方法是通过上下两层的textview通过的不同的字体颜色的叠加来实现的,这里,我也是这么实现的。

             1、通过TextView叠加来展示

       <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
    
            <TextView
                android:id="@+id/txt_typeface"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:text="@string/hello_world"
                android:textColor="#000000"
                android:textSize="30sp" />
    
            <TextView
                android:id="@+id/txt_typeface1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:text="@string/hello_world"
                android:textColor="#ffffff"
                android:textSize="30sp" />
        </FrameLayout>

        //描边效果
            TextView textView =(TextView)findViewById(R.id.txt_typeface);
            try {
                Typeface typeFace = Typeface.createFromAsset(getAssets(), "fonts/impact.ttf");
                textView.setTypeface(typeFace);
            }catch (Exception e)
            {
                CommonUtil.printStackTrace(e);
            }
    
            TextPaint tp1 = textView.getPaint();
            tp1.setStrokeWidth(5);
            tp1.setStyle(Paint.Style.FILL_AND_STROKE);
    //        tp1.setFakeBoldText(true);
            tp1.setAntiAlias(true);
    
            TextView textView1 =(TextView)findViewById(R.id.txt_typeface1);
            try {
                Typeface typeFace = Typeface.createFromAsset(getAssets(), "fonts/impact.ttf");
                textView1.setTypeface(typeFace);
            }catch (Exception e)
            {
                CommonUtil.printStackTrace(e);
            }

                2、将描边效果文字绘制到图片中

    public static Bitmap createMeme(Context context, Bitmap bitmapOriginal, int textColor, ArrayList<MemeTextNew> memeTexts) {
            if (memeTexts.size() == 0) {
                return bitmapOriginal;
            }
    
            int width = bitmapOriginal.getWidth(), height = bitmapOriginal.getHeight();
            System.out.println("宽" + width + "高" + height);
            Bitmap bmpMeme = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); //建立一个空的BItMap
            Canvas canvas = new Canvas(bmpMeme);//初始化画布绘制的图像到icon上
    
            Paint photoPaint = new Paint(); //建立画笔
            photoPaint.setDither(true); //获取跟清晰的图像采样
            photoPaint.setFilterBitmap(true);//过滤一些
    
            Rect src = new Rect(0, 0, width, height);//创建一个指定的新矩形的坐标
            Rect dst = new Rect(0, 0, width, height);//创建一个指定的新矩形的坐标
            canvas.drawBitmap(bitmapOriginal, src, dst, photoPaint);//将photo 缩放或则扩大到 dst使用的填充区photoPaint
    
            for (MemeTextNew memeText : memeTexts) {
                TextPaint textPaint = new TextPaint();
                textPaint.setColor(textColor);
                textPaint.setAntiAlias(true);
                /**
                if (memeText.getContent().length() > 60) {
                    textPaint.setTextSize(CommonUtil.sp2px(context, 14));
                    //textPaint.setTextSize(16);
                } else {
                    textPaint.setTextSize(CommonUtil.sp2px(context, 20));
                    //textPaint.setTextSize(20);
    
                }
                 **/
                //20160519改成自动获取
                textPaint.setTextSize(memeText.getTextSize());
    
                textPaint.setTypeface(Typeface.createFromAsset(context.getAssets(), "fonts/impact.ttf"));
                if (StringUtil.isNotEmpty(memeText.getContent())) {
                    //设置边框效果的背景文字,颜色为黑色
                    TextPaint strokeTextPaint = new TextPaint();
                    strokeTextPaint.setColor(Color.BLACK);
                    strokeTextPaint.setStrokeWidth(5);
                    strokeTextPaint.setStyle(Paint.Style.FILL_AND_STROKE);
                    strokeTextPaint.setAntiAlias(textPaint.isAntiAlias());
                    strokeTextPaint.setTextSize(textPaint.getTextSize());
                    strokeTextPaint.setTypeface(textPaint.getTypeface());
                    StaticLayout strokeLayout = new StaticLayout(memeText.getContent(), strokeTextPaint, (int) memeText.getWidth(), Layout.Alignment.ALIGN_CENTER, 1.0F, 0.0F, true);
                    canvas.translate(memeText.getX(), memeText.getY());
                    strokeLayout.draw(canvas);
    
                    //绘制前景色文字
                    StaticLayout layout = new StaticLayout(memeText.getContent(), textPaint, (int) memeText.getWidth(), Layout.Alignment.ALIGN_CENTER, 1.0F, 0.0F, true);
    //                canvas.translate(memeText.getX(), memeText.getY());
                    layout.draw(canvas);
    
                    //20160516绘制完成回到原点
    //                canvas.translate(-memeText.getX(), -memeText.getY());
    
    
                }
            }
    
            canvas.save(Canvas.ALL_SAVE_FLAG);
            canvas.restore();
            return bmpMeme;
        }
    





    展开全文
  • 签名设计一笔教写过程

    千次阅读 2020-12-19 23:13:25
    导读:签名设计一笔教写过程,以前发文章都是图片,今天学会往网站上视频了,所以想要学习【签名设计一笔教写过程】详细解说的,可以来看看视频效果了。而且也还有图片的,所以很是方便的。大家可以尽情的看看了。...

    导读:签名设计一笔教写过程,以前发文章都是图片,今天学会往网站上加视频了,所以想要学习【签名设计一笔教写过程】详细解说的,可以来看看视频效果了。而且也还有图片的,所以很是方便的。大家可以尽情的看看了。

    签名设计一笔教写过程

    其实我是一个很保守的人,所以在录制的视频的时候不太好说话,所以只能用文字来给给大家表达了。但是手写的视频还是该给大家发还是会发的。这个你可以放心的。

    上次给大家分享的【签名设计一笔签步骤】教大家写了王帅的一笔签名,这次就得来换个人的名字了。

    网站不是交互式的,所以没有安装评论功能,所以,只能我自己挑选来写了。

    如果你也想写自己的艺术签名,是可以通过这篇文章来学习一下了。

    其实写签名的过程是非常简单的,几秒钟就搞定了,所以我才给我的网站起了个三秒签名网,是不是很顺口啊?

    其他啰嗦的话我就不多说了,直接来给大家演示写名字吧!

    先给大家来一段视频,然后再给大家详细的分析,这样我想大家都能够熟悉掌握技法的。

    视频原网有

    这次给大家来个图片吧!

    张娜一笔签名设计图片

    上面这张图片是给大家展示的最终效果图,怎么样,好看吗,连笔笔顺流畅。是不是感觉非常的棒,下面就来分析一下是怎么写的吧!

    文章出处:签名设计一笔教写过程

    展开全文
  • android-ProgressBar加文字

    千次阅读 2012-07-16 23:12:30
    里面了,不过添加的写法稍微有点不同。标记名要写成这个自定义进度条的完整类名,就像下面这样。   1    2 android:id="@+id/pgsBar"   3 android:max="100"   4 android:layout_width="fill_...
  • 文字识别()--传统方案综述

    万次阅读 多人点赞 2019-02-17 12:48:15
    文字识别是计算机视觉研究领域的分支之,归属于模式识别和人工智能,是计算机科学的重要组成部分,本文将以上图为主要线索,简要阐述在文字识别领域中的各个组成部分(更侧重传统非深度学习端到端方案)。...
  • 文字符号设计方法1--笔画字形(体)设计方法 ---- 精思巧形 文字符号设计方法分类整理  不论是图形还是字体设计(文字符号设计)都是为了更好的传达信息,让文字的意义更好更准确的传达。  * 因为文字...
  • 该算法充分利用了中文的语言学特性,让机器理解汉字一笔一画之间的奥秘。在公开数据集上,算法的准确度超过了谷歌的word2vec,斯坦福的GloVe,清华的CWE等业界最优的算法,并且在阿里的诸多场景中均取得了不错的效果...
  • 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...
  • Android自带的ProgressBar是不带文字的,加文字的话可以参考这篇博客:http://blog.csdn.net/lixiaodaoaaa/article/details/9852327本篇博客主要讲有了文字之后的ProgressBar文字的颜色随着进度条增加,看起来有种...
  • 一笔钱(大于8分,小于1元,精确到分)换算成1分、2分和5分的硬币组合。输入金额,问有几种换算方法?要求每种硬币至少有一枚。【输入形式】从键盘输入一个正整数n。【输入输出样例1】(下划线部分表示输入)Input...
  • 【转】什么是加密经济学

    万次阅读 2019-05-12 07:35:28
    什么是加密经济学(cryptoeconomics)?以太坊社区开发者Vlad Zamfir解释道: “这是一门独立的学科,旨在研究去中心化数字经济学中的协议,这些协议被用于管理商品及服务的生产、分配和消费。它也是一门实用科学...
  • 简单招教你使用蒙版做文字动画效果图制作步骤博主微信欢迎交流 效果图 制作步骤 点击选择的字幕 点击钢笔 在视频的最左边勾选文字区域框 点击右边的蒙版关键帧 然后在拉动视频 选择蒙版 在添加个关键帧...
  • 如果是想训练个手写体识别的模型,用一些前人收集好的手写文字集就好了,比如中科院的这些数据集。但是如果我们只是想要训练个专门用于识别印刷汉字的模型,那么我们就需要各种印刷字体的训练集,那怎么获取呢?...
  • ToolWiz Photos,款颠覆你对安卓市场上修图产品认知的APP,几乎囊括了PS的核心功能,好用到根本停不下来。 200多种精美拼图,300多种专业相框,4000多个特色贴纸,150万张壁纸,125种专业滤镜,磨皮祛痘、智能...
  • 吃灰树莓派当电视盒子,省了一笔

    万次阅读 多人点赞 2020-03-22 21:43:02
    文章目录吃灰树莓派当电视盒子用、硬件准备二、软件准备三、OSMC安装流程1.硬件选择2.版本选择3.选择运行位置4.网络设置5.选device6.agreement7.下载安装四、设置KODI1.设置时区等乱七八糟的东西2.设置皮肤和中文3...
  • PS修改图片上文字的几种方法 图+

    万次阅读 2012-10-11 17:22:30
    PS修改图片上的文字主要用到的工具有:(鼠标停留在每个图标上等候1秒,会有图标名称浮现)    根据不同的图片,主要分为3种图片:  1)背景单纯的文字修改  2)背景规律的文字修改  3)背景混杂的文字...
  • 自定义的控件写了很多跟圆形有关系的,有时候蛮纠结在圆里面画文字的 有两种思路,种是画圆之后再画字体,将字体控制在居中的位置 另外种是:重写TextView,控制TextView的gravity居中,再绘制TextView的边框...
  • 向AI转型的程序员都关注了这个号???大数据挖掘DT数据分析 公众号: datadw本文全部代码 github 地址在公众号...如果是想训练个手写体识别的模型,用一些前人收集好的手写文字集就好了,比如中科院的这些数据集。http:
  • 文字识别总结(OCR)

    万次阅读 多人点赞 2018-11-15 10:26:31
    最近在读Tesseract相关文章,发现篇总结的不错的文章,对刚入门或者准备入门的具有挺大参考...文字识别简介 1)探索阶段(19791985) 2)研制阶段(1986~1988) 3)实用阶段(1989至今) 二 ,印刷体文字识别...
  • opencv学习(十三)之文本文字插入

    千次阅读 2016-11-27 22:45:25
    在进行图形处理时,可能考虑到要对图片部分进行文字标注,也可以对图片进行水印。本篇将介绍使用opencv函数putText()和getTextSize()函数来实现这些功能。 1. putText()函数 putText()是字符串绘制函数,其定义...
  •  // 得到个消息对象,Message类是android系统提供的  Message msg = handler.obtainMessage();  // 将Message对象的arg1参数的值设置为i  msg.arg1 = i; // 用arg1、arg2这两个成员变量传递消息,...
  • C#实现在图片上添加文字和二维码

    千次阅读 2019-06-04 16:14:22
    源程序下载地址: ...原始素材: 我的公众号二维码图片: 运行程序后的效果图: 源代码如下: 添加图片方法: DrawImage(Image, 画图位置x, 画图位置y, ...DrawString(文字, 字体, 画笔, 位置); //窗口加载事件 ...
  • 很多朋友在使用过液晶显示器之后都会发现,液晶显示器...但是,当把分辨率切换到低分辨率下(比最佳分辨率低)后,此时,液晶显示器的文字表现就跟刚才大相径庭了,可以很明显的看到还原的文字模糊迹象,笔画之间浓度不
  • 近日发现天津南开田蕴章老师讲座《每日题,每日一字》挺好的,所以简单的整理成文字供以后使用。 永字八法。永字八法其实就是「永」这个的八个笔画,代表中国书法中笔画的大体, 分别是「侧、勒、努、趯、策、...
  • Java实现可换行文字转图片

    千次阅读 2019-06-14 11:31:24
    由于微信公众号无法直接复制别人的文章转发,因为会被检测认为是相同的原创文章,所以很多公众号运营者就想到把文字转成图片来发文,这样系统就无法检测重复性了,这样做某种程度上确实侵犯了原创版权,所以笔者不...
  • 什么是加密经济学(cryptoeconomics)?以太坊社区开发者Vlad Zamfir解释道: “这是一门独立的学科,旨在研究去中心化数字经济学中的协议,这些协议被用于管理商品及服务的生产、分配和消费。它也是一门实用科学...
  • EGE基础:文字

    千次阅读 多人点赞 2020-02-16 14:54:14
    EGE 文字输出内容方面讲解
  • (详)h5+js实现文字雨 Canvas的使用

    千次阅读 2019-12-31 12:50:19
    这次给大家带来了文字雨效果,效果如下 实现流程 首先我们要知道什么是Canvas Canvas是h5的个标签(画布) 在画布上任何一点都可以操作(绘制) Canvas需要配合js来使用 创建Canvas 新建个html文件,在...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 46,822
精华内容 18,728
关键字:

文加一笔是什么字