Django后端编辑图片提取主要颜色API
一、需求
前端页面需要调用后端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相关推荐
- 【接口文档】Django restful framework中自动生成API文档
Django restful framework中自动生成API文档 一.Swagger概述 1.引言 当接口开发完成,紧接着需要编写接口文档.传统的接口文档使用Word编写,or一些接口文档管理平台 ...
- react配合python_部署React前端和Django后端的3种方法
Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 2020年4月7日星期二,马修·西格尔 类别:Django 如果您要用Django REST开发web应用 ...
- 微信小程序python token验证_微信小程序登录对接Django后端实现JWT方式验证登录
点击授权按钮后可以显示部分资料和头像,点击修改资料可以修改部分资料. 1.使用微信小程序登录和获取用户信息Api接口 2.把Api获取的用户资料和code发送给django后端 3.通过微信接口把co ...
- Django后端彻底解决跨域问题
Django后端彻底解决跨域问题 参考文章: (1)Django后端彻底解决跨域问题 (2)https://www.cnblogs.com/skyflask/p/10675706.html 备忘一下.
- Gradify - 提取图片颜色,创建响应式的 CSS渐变
被请求的HTTP对象之间的延迟会有一个时间段,这个期间网页看起来不完整.Gradify 可以分析出图像中4个最常见的颜色,创建一个梯度(或纯色)作为图片占位符.Gradify 可以在在任何图像发现最突 ...
- 购物车Demo,前端使用AngularJS,后端使用ASP.NET Web API(2)--前端,以及前后端Session
原文:购物车Demo,前端使用AngularJS,后端使用ASP.NET Web API(2)--前端,以及前后端Session chsakell分享了前端使用AngularJS,后端使用ASP.NE ...
- django restful 请求_利用 Django REST framework 构建 RESTful Web API
利用 Django REST framework 构建 RESTful Web API 终于到了动手操作的环节啦,这一节,我们以师生管理系统为例,带领大家搭建一套 framework Web API. ...
- 16进制颜色透明_PPT | 如何快速提取图片颜色之人生太卷
01 2020 真的是猝不及防 推文已有四月未更新,作为一个超级硬核,不出家,不还俗简称单身的男人,真正从行动上且精神上践行了下图的名言. 奈何自身修为还不够咸鲜,偶尔登录公共号,越发感觉以前特别鲜红 ...
- 购物车Demo,前端使用AngularJS,后端使用ASP.NET Web API(3)--Idetity,OWIN前后端验证
原文:购物车Demo,前端使用AngularJS,后端使用ASP.NET Web API(3)--Idetity,OWIN前后端验证 chsakell分享了前端使用AngularJS,后端使用ASP. ...
最新文章
- 干货满满:详解四组遍历数组
- ViewModel优雅的弹加载窗和获取Context
- 对象的初始化列表const变量的初始化
- 接口测试基础之入门篇(待续)
- 非多态的继承情况下,基类指针可以指向派生类对象么?
- python 函数式编程包_python 函数支持函数式编程的包operator partial
- 华为天才少年一人打造自动驾驶!
- 基于嵌入式系统的gnash最小库依赖关系
- js错误处理权威指北
- worldwind java 教程,如何脱机使用World Wind Java SDK
- comsol仿真模型:风力发电机复合材料叶片的应力和模态分析
- 医学激光成像仪行业研究及十四五规划分析报告
- QTcpSocket使用发现的问题
- 电脑发到,电脑电影怎么传到手机_把电脑上的电影传到手机上的详细教程
- 来自 Repository 的一丝线索,Domain Model 再重新设计
- destoon网站mysql分表_destoon二次开发常用数据库操作_PHP
- Python程序设计(第三版)约翰·策勒 编程练习课后答案(第二章)
- 雷军:编程不仅仅是技能,更是一种艺术!
- python批量下载微博贴评论图片
- 概率论02-概率,古典概型