一、需求

前端页面需要调用后端API,实现获取主要颜色json数据

二、图片效果

三、代码实现:

# Create your views here.
import os
from django.core.files.storage import default_storage
from django.http import HttpResponse, JsonResponse
from PIL import Image
from webcolors import rgb_to_hexdef test_url(request):"""测试接口"""return HttpResponse("hello world")def palette(req):colors = {}# 判断接收方式if req.method == 'POST':# 获取图片first_image = req.FILES.get("image", None)# 保存图片image_path = os.path.join('static/', 'image.jpg')default_storage.save(image_path, first_image)# 提取图片主要的十种颜色image = Image.open(image_path)small_image = image.resize((80, 80))# 图片的主要十种颜色result = small_image.convert("P", palette=Image.ADAPTIVE, colors=10)# 提取颜色palette = result.getpalette()color_counts = sorted(result.getcolors(), reverse=True)col_sum = sum([i[0] for i in color_counts])for i in range(len(color_counts)):palette_index = color_counts[i][1]ratio = color_counts[i][0] / col_sumdominant_color = palette[palette_index * 3: palette_index * 3 + 3]# rgb转化为二进制color_str = rgb_to_hex(dominant_color[:3])# key为颜色,值为所占图片的比例colors[str(color_str)] = ratio# 删除图片os.remove(image_path)return JsonResponse({"error": 0,"message": "no error","result": {"colors": colors}})else:return JsonResponse({"error": 1,"message": "method error","result": {}})

四、返回JSON数据

{"error": 0,"message": "no error","result": {"colors": {"#f5f5f5": 0.2359375,"#685648": 0.13578125,"#423933": 0.13109375,"#1f2528": 0.12265625,"#a38970": 0.11890625,"#e5dedc": 0.11421875,"#f9f8f9": 0.06,"#f5f5f4": 0.04625,"#f4f5f5": 0.02703125,"#f9f5f6": 0.008125}}
}

Django后端编辑图片提取主要颜色API相关推荐

  1. 【接口文档】Django restful framework中自动生成API文档

    Django restful framework中自动生成API文档 一.Swagger概述 1.引言 当接口开发完成,紧接着需要编写接口文档.传统的接口文档使用Word编写,or一些接口文档管理平台 ...

  2. react配合python_部署React前端和Django后端的3种方法

    Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 2020年4月7日星期二,马修·西格尔 类别:Django 如果您要用Django REST开发web应用 ...

  3. 微信小程序python token验证_微信小程序登录对接Django后端实现JWT方式验证登录

    点击授权按钮后可以显示部分资料和头像,点击修改资料可以修改部分资料. 1.使用微信小程序登录和获取用户信息Api接口 2.把Api获取的用户资料和code发送给django后端 3.通过微信接口把co ...

  4. Django后端彻底解决跨域问题

    Django后端彻底解决跨域问题 参考文章: (1)Django后端彻底解决跨域问题 (2)https://www.cnblogs.com/skyflask/p/10675706.html 备忘一下.

  5. Gradify - 提取图片颜色,创建响应式的 CSS渐变

    被请求的HTTP对象之间的延迟会有一个时间段,这个期间网页看起来不完整.Gradify 可以分析出图像中4个最常见的颜色,创建一个梯度(或纯色)作为图片占位符.Gradify 可以在在任何图像发现最突 ...

  6. 购物车Demo,前端使用AngularJS,后端使用ASP.NET Web API(2)--前端,以及前后端Session

    原文:购物车Demo,前端使用AngularJS,后端使用ASP.NET Web API(2)--前端,以及前后端Session chsakell分享了前端使用AngularJS,后端使用ASP.NE ...

  7. django restful 请求_利用 Django REST framework 构建 RESTful Web API

    利用 Django REST framework 构建 RESTful Web API 终于到了动手操作的环节啦,这一节,我们以师生管理系统为例,带领大家搭建一套 framework Web API. ...

  8. 16进制颜色透明_PPT | 如何快速提取图片颜色之人生太卷

    01 2020 真的是猝不及防 推文已有四月未更新,作为一个超级硬核,不出家,不还俗简称单身的男人,真正从行动上且精神上践行了下图的名言. 奈何自身修为还不够咸鲜,偶尔登录公共号,越发感觉以前特别鲜红 ...

  9. 购物车Demo,前端使用AngularJS,后端使用ASP.NET Web API(3)--Idetity,OWIN前后端验证

    原文:购物车Demo,前端使用AngularJS,后端使用ASP.NET Web API(3)--Idetity,OWIN前后端验证 chsakell分享了前端使用AngularJS,后端使用ASP. ...

最新文章

  1. 干货满满:详解四组遍历数组
  2. ViewModel优雅的弹加载窗和获取Context
  3. 对象的初始化列表const变量的初始化
  4. 接口测试基础之入门篇(待续)
  5. 非多态的继承情况下,基类指针可以指向派生类对象么?
  6. python 函数式编程包_python 函数支持函数式编程的包operator partial
  7. 华为天才少年一人打造自动驾驶!
  8. 基于嵌入式系统的gnash最小库依赖关系
  9. js错误处理权威指北
  10. worldwind java 教程,如何脱机使用World Wind Java SDK
  11. comsol仿真模型:风力发电机复合材料叶片的应力和模态分析
  12. 医学激光成像仪行业研究及十四五规划分析报告
  13. QTcpSocket使用发现的问题
  14. 电脑发到,电脑电影怎么传到手机_把电脑上的电影传到手机上的详细教程
  15. 来自 Repository 的一丝线索,Domain Model 再重新设计
  16. destoon网站mysql分表_destoon二次开发常用数据库操作_PHP
  17. Python程序设计(第三版)约翰·策勒 编程练习课后答案(第二章)
  18. 雷军:编程不仅仅是技能,更是一种艺术!
  19. python批量下载微博贴评论图片
  20. 概率论02-概率,古典概型

热门文章

  1. 洛谷P1901 发射站
  2. Spring中RedirectAttributes对象重定向传参
  3. UITextField属性
  4. C#中的多文档的使用
  5. JAVA软件工程师应该具备的技能有哪些?
  6. SQL Server 2008R2数据库文件导入到SQL Server 2008数据库中
  7. 腾讯QQ企业邮箱POP3/SMTP设置
  8. MySQL Server Architecture
  9. SheevaPlug是什么,有什么用途
  10. breakcontinue