Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

Django में क्लाइंट साइड इमेज जूमिंग और रोटेटिंग

कभी-कभी, हमें किसी छवि को घुमाने या उसे ज़ूम करने की आवश्यकता हो सकती है। ऐसे मामलों में, क्लाइंट-साइड इमेज जूमिंग लाइब्रेरी का उपयोग एचटीएमएल फाइल पर जूमिंग-रोटेटिंग की jQuery सुविधा को जोड़ने के लिए किया जाता है। हमें बस html फ़ाइल में jQuery js और css लोड करने की आवश्यकता है।

एक Django प्रोजेक्ट और एक ऐप बनाएं। सेटअप यूआरएल और कुछ बुनियादी चीजें करें जैसे INSTALLED_APPS में ऐप जोड़ना।

django-client-side-image-cropping स्थापित करें पुस्तकालय

pip install django-client-side-image-cropping

अब settings.py, . में निम्न पंक्ति जोड़ें -

INSTALLED_APPS+=['client_side_image_cropping']

यहां, हमने एक मॉड्यूल को ऐप के रूप में जोड़ने की एक सरल सेटिंग की है।

उदाहरण

models.py . में , निम्नलिखित पंक्तियाँ जोड़ें -

from django.db import models

# Create your models here.
class Data(models.Model):

   image=models.ImageField(upload_to ='myimages/')

यहां, हम अपना मॉडल सेट करते हैं जिसमें एक छवि फ़ील्ड है।

मीडिया रूट को settings.py. . में सेट करें

urls.py . में , निम्नलिखित पंक्तियाँ जोड़ें -

from django.urls import path
from . import views
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
   path('', views.home,name="home"),
]
urlpatterns += static(settings.MEDIA_URL,
document_root=settings.MEDIA_RO
OT)

यहां, हमने एक बुनियादी मीडिया url किया है सेटिंग जिसे आप निश्चित रूप से जानते हैं।

अब views.py . में , निम्नलिखित जोड़ें -

from django.shortcuts import render
from django import forms
from .models import Data
from client_side_image_cropping import ClientsideCroppingWidget

# Create your views here.
class DataForm(forms.ModelForm):
   class Meta:
      model=Data
         fields="__all__"
         widgets = {
            'image': ClientsideCroppingWidget(
               width=400,
               height=600,
               preview_width=100,
               preview_height=150,
            )
         }

def home(request):
   if request.method =="POST":
      form=DataForm(request.POST,request.FILES)
      if form.is_valid():
         form.save()
   form=DataForm()
   return render(request,'home.html',{"form":form})

यहां, हमने एक सरल रूप बनाया है। यह एक मॉडल फॉर्म है, इसलिए इसके इमेज फील्ड में हमने एक क्रॉपिंग विजेट जोड़ा है।

home.html . में निम्नलिखित जोड़ें -

{% load static %}
{% load cropping %}
{% load thumbnail %}
<!DOCTYPE html>
<html>
   <head>
      <title>
         TUT
      </title>
      <link rel="stylesheet" href="{% static "client_side_i
mage_cropping/cropping.css" %}"></script>
      <link rel="stylesheet" href="{% static "client_side_i
mage_cropping/cropping_widget.css" %}"></script>
      <script src="https://ajax.googleapis.com/ajax/libs/jq
uery/1.12.4/jquery.min.js"></script>
      <script src="{% static "client_side_image_cropping/cr
oppie.min.js" %}"></script>
      <script src="{% static "client_side_image_cropping/cr
opping_widget.js" %}"></script>
   </head>
   <body>
      <h2>HI</h2>
         {% csrf_token %}
         <form method="post" enctype="multipart/formdata">
            {% csrf_token %}
            {{ form.as_p }}
            <input type="submit" value="Save"/>
      </form>
   </body>
</html>

फ़्रंटएंड पर, हमने कुछ jQueries और कुछ शैलियों को लोड किया, और उस फॉर्म को रेंडर किया जो इनपुट लेगा।

अब सब हो गया है। आइए आउटपुट की जांच करें।

आउटपुट

आपको इस तरह का इंटरफेस मिलेगा, जिस पर आप फोटो को रोटेट और जूम कर सकते हैं। यह बहुत अच्छा दिखने वाला इंटरफ़ेस नहीं है, हालाँकि आप CSS का उपयोग करके इसे संशोधित कर सकते हैं।

ध्यान दें कि अपलोड की गई छवि विस्थापित दिख सकती है, इसलिए इसे राइट सेट करने के लिए रोटेट का उपयोग करें। वह विस्थापन शायद ब्राउज़र की समस्याओं के कारण हुआ है।

Django में क्लाइंट साइड इमेज जूमिंग और रोटेटिंग Django में क्लाइंट साइड इमेज जूमिंग और रोटेटिंग


  1. पिलो लाइब्रेरी का उपयोग करके एक छवि लोड करना और प्रदर्शित करना

    इस कार्यक्रम में, हम पिलो लाइब्रेरी का उपयोग करके एक छवि को पढ़ेंगे या लोड करेंगे। पिलो लाइब्रेरी में Image.open() नामक एक विधि होती है। यह फ़ंक्शन फ़ाइल पथ या फ़ाइल का नाम स्ट्रिंग के रूप में लेता है। छवि प्रदर्शित करने के लिए, हम एक अन्य फ़ंक्शन शो () का उपयोग करते हैं। इसके लिए किसी पैरामीटर की आ

  1. OpenCV का उपयोग करके छवियों को पढ़ना और प्रदर्शित करना

    इस लेख में, हम सीखेंगे कि OpenCV लाइब्रेरी का उपयोग करके छवियों को कैसे पढ़ना और प्रदर्शित करना है। OpenCV मुख्य रूप से वास्तविक समय कंप्यूटर दृष्टि के उद्देश्य से प्रोग्रामिंग कार्यों का एक पुस्तकालय है। एक छवि पढ़ने से पहले, सुनिश्चित करें कि छवि उसी निर्देशिका में है जिसमें आपका प्रोग्राम है। एल

  1. पायथन में ओपनसीवी का उपयोग करके समोच्च खोजें और ड्रा करें

    छवि विश्लेषण के उद्देश्य से हम Opencv (ओपन सोर्स कंप्यूटर विज़न लाइब्रेरी) पायथन लाइब्रेरी का उपयोग करते हैं। लाइब्रेरी का नाम जिसे opencv इंस्टाल करने के बाद इम्पोर्ट करना होता है cv2 है। नीचे दिए गए उदाहरण में हम एक छवि फ़ाइलों में मौजूद आकृति पाते हैं। आकृति हमें छवि में मौजूद आकृतियों की पहचान