本文主要是图片加水印自动上传,代码已经上传github。

图片加水印,我的方法,简单,一个好的方法是毒逆天大神的图片加水印方法或http://daily.zhihu.com/story/8812028

我们现在用我的方法,就是加一个TextBlock,然后获得屏幕,很简单,然后我们把水印图保存。

我们可能有很多地方需要上传,我现在使用是九幽,之前有smms的图床,我们做一个通用任务。

  • Guid 上传的Guid,为了识别任务

  • File 要上传的图片

  • Name 上传图片的名字,没有用

  • OnUploaded 上传完成EventHandler 成功true

  • Url 上传成功返回图片

  • Scale 缩放比例,如果没有设置,默认-1,上传图片不缩放

  • Width 默认-1,图片宽度,有设置上传为设置宽度

  • Height 默认-1,图片高度

  • public abstract void UploadImage() 上传图片,不同的类可以有不同上传

我们类需要传StorageFile,这个必须,因为我们上传必须有文件。

我们做类是因为我们可能有很多个图床,九幽一个,smms一个,还有我们现在不知道的。我们都可以通过填写类来做到。

然后每个类一个抽象的UploadImage,根据每个图床不同,上传我们的图片,上传后一般都是使用OnUploaded ,true就是上传成功。

九幽上传很简单,首先是Nuget下载

我们搜索Jiuyou,有很多九幽的,很好用,但是我们这里下载JyCloud

然后我们写九幽上传,我们基层我们通用任务,我们需要写UploadImage

public class JyUploadImage : UploadImageTask

九幽上传可以有多个函数。

  • sendFileScale 上传图片可以缩放。我们判断Scale》0,如果是,我们就用这函数上传。

  • sendFileCustom 上传图片设置图片宽度和高度,我们判断(uploadImageTask.Width > 0) && (uploadImageTask.Height > 0)

  • sendFileOriginal上传原图

  • sendFileDefault 当图片的宽或高大于某个值时,将高或宽等比缩放到这个值

    九幽上传开始需要appKey,这个可以在http://www.windows.sc创建应用然后得到。

我们先登录http://www.windows.sc,选应用。

我们可以创建应用,我们可以用我们创建的应用,可以看到key

我们创建一个类来放我们的key,我们上传还需要我们的图床密钥。

图床,九幽叫云存储。

我们可以看到我们的key,这个是和应用没关。

我们上传的是我们的StorageFile,上传完可以有ResponseInfo


        private async Task UploadImage(UploadImageTask uploadImageTask)

        {

            //Appid 为静态,有_appid 应用的appid

            //_secretId 九幽的

            ResponseInfo responseInfo;

            if (uploadImageTask.Scale > 0)

            {

                responseInfo = await JyCloudTool.JyCloudTool.sendFileScale(

                    AppId._appId, AppId._secretId, uploadImageTask.File,

                    uploadImageTask.Scale);

            }

            else if ((uploadImageTask.Width > 0) && (uploadImageTask.Height > 0))

            {

                responseInfo = await JyCloudTool.JyCloudTool.sendFileCustom(

                    AppId._appId, AppId._secretId, uploadImageTask.File,

                    (uint) uploadImageTask.Width, (uint) uploadImageTask.Height);

            }

            else

            {

                responseInfo = await JyCloudTool.JyCloudTool.sendFileOriginal(

                    AppId._appId, AppId._secretId, uploadImageTask.File);

            }

            if (responseInfo.respose_Status == 0)

            {

                uploadImageTask.Url = responseInfo.ImgUrl;

                uploadImageTask.OnUploaded?.Invoke(uploadImageTask, true);

            }

            else

            {

                uploadImageTask.OnUploaded?.Invoke(uploadImageTask, false);

            }

        }

respose_Status是上传的状态

0 成功
1 参数缺失
2 服务冻结
3 sdk版本过低
4 密钥错误
5 签名错误(请检查SerectId是否正确)
-1 文件为空
-2 文件大小超出限制(8MB)
-3 接口命令错误
-4 服务器报错
-5 文件类型不支持
-6 积分不足上传失败
-7 未检测到网络连接
-8 文件格式出错,暂时只支持png,jpg格式

源代码:https://github.com/lindexi/UWP/tree/master/uwp/control/BitStamp


本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系

win10 uwp 九幽图床的更多相关文章

  1. 【广告】win10 uwp 水印图床 含代码

    本文主要是广告我的软件. 图床可以加速大家写博客上传图片的时间,通过简化我们的操作来得到加速. 在写博客的时候,我们发现,我们需要上传一张图片,需要先打开图片,然后选择本地图片,然后上传. 但是我经常 ...

  2. win10 uwp smms图床

    本文,如何使用smms图床上传图片,用到win10 uwp post文件,因为我是渣渣,如果本文有错的,请和我说,在本文评论,或发给我邮箱lindexi_gd@163.com,请不要发不良言论 找到一 ...

  3. win10 UWP 九幽数据分析

    九幽数据统计是统计和分析数据来源,用户使用,先申请账号 http://www.windows.sc 创建应用 图片要72*72 记密钥 在项目Nuget 在App.xaml.cs public App ...

  4. 2019-9-2-win10-uwp-九幽图床

    title author date CreateTime categories win10 uwp 九幽图床 lindexi 2019-09-02 12:57:38 +0800 2018-2-13 1 ...

  5. 2018-2-13-win10-uwp-smms图床

    title author date CreateTime categories win10 uwp smms图床 lindexi 2018-2-13 17:23:3 +0800 2018-2-13 1 ...

  6. win10 uwp 入门

    UWP是什么我在这里就不说,本文主要是介绍如何入门UWP,也是合并我写的博客. 关于UWP介绍可以参见:http://lib.csdn.net/article/csharp/32451 首先需要申请一 ...

  7. win10 uwp 使用 asp dotnet core 做图床服务器客户端

    原文 win10 uwp 使用 asp dotnet core 做图床服务器客户端 本文告诉大家如何在 UWP 做客户端和 asp dotnet core 做服务器端来做一个图床工具   服务器端 从 ...

  8. win10 uwp MVVM 轻量框架

    如果在开发过程,遇到多个页面之间,需要传输信息,那么可能遇到设计的问题.如果因为一个页面内包含多个子页面和多个子页面之间的通信问题找不到一个好的解决方法,那么请看本文.如果因为ViewModel代码越 ...

  9. win10 uwp 商业游戏 1.2.1

    上一个游戏已经告诉大家如何写多个游戏,现在继续写这个无聊的游戏 希望大家在看这篇文章之前先看win10 uwp 商业游戏,在这个文章告诉了大家如何创建游戏. 修改数值 可以从上一篇的博客的游戏看到升级 ...

随机推荐

  1. 【Beta】 第三次Daily Scrum Meeting

    一.本次会议为第三次meeting会议 二.时间:10:00AM-10:20AM 地点:禹州楼 三.会议站立式照片 四.今日任务安排 成员 昨日任务 今日任务 林晓芳 查询app提醒功能模块和用户登录 ...

  2. 【Beta阶段】第三次scrum meeting

    Coding/OSChina 地址 1. 会议内容 学号 主要负责的方向 昨日任务 昨日任务完成进度 接下去要做 99 PM 打包上传团队代码 100% 查找适合的素材模块,和105一起把手势功能连接 ...

  3. Android事件机制

    一句话描述: 用户和程序之间的互动机制 什么是事件? 用户和程序交互时触发的程序操作. 只要是事件,必须具备三方面: 1 事件的发生者 2 事件接受者 3 事件触发和传递 事件处理的方法 观察者模式: ...

  4. 201521123097《Java程序设计》第十周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 2. 书面作业 1.finally 题目4-2 1.1 截图你的提交结果(出现学号) 1.2 4-2中fin ...

  5. 201521123019 《Java程序设计》第10周学习总结

    1. 本周学习总结 2. 书面作业 本次PTA作业题集异常.多线程 1.finally 题目4-2 1.1 截图你的提交结果(出现学号) 1.2 4-2中finally中捕获异常需要注意什么? 只有执 ...

  6. HTML结构

    HTML:超文本标记语言. 可以放除了文本之外的内容,像图片.音频.视频等 由很多标签组成 html基本结构: <html> <head> 头标签存放网页信息,编码格式等 &l ...

  7. 关于SVM数学细节逻辑的个人理解(三) :SMO算法理解

    第三部分:SMO算法的个人理解 接下来的这部分我觉得是最难理解的?而且计算也是最难得,就是SMO算法. SMO算法就是帮助我们求解: s.t.   这个优化问题的. 虽然这个优化问题只剩下了α这一个变 ...

  8. iOS内购 服务端票据验证及漏单引发的思考.

    因业务需要实现了APP内购处理,但在过程中出现了部分不可控的因素,导致部分用户反映有充值不成并漏单的情况. 仔细考虑了几个付费安全上的问题,凡是涉及到付费的问题都很敏感,任何一方出现损失都是不能接受的 ...

  9. 《MySQL必知必会》[01] 基本查询

    <MySQL必知必会>(点击查看详情) 1.写在前面的话 这本书是一本MySQL的经典入门书籍,小小的一本,也受到众多网友推荐.之前自己学习的时候是啃的清华大学出版社的计算机系列教材< ...

  10. 【转】MySQL分库分表环境下全局ID生成方案

    转载一篇博客,里面有很多的知识和思想值得我们去思考. —————————————————————————————————————————————————————————————————————— 在大 ...