अपने स्रोत कोड की एक छवि को आउटपुट करें (नॉट-ए-क्विन)


29

कोड गोल्फ: स्रोत कोड की एक छवि प्रिंट करें।

आवश्यकताएँ

  1. स्रोत कोड की छवि को स्वयं ही आउटपुट करना चाहिए, न कि किसी अन्य संस्करण को संग्रहीत करना और रन टाइम पर पुनर्प्राप्त करना।
  2. कोड को हाथ से कॉपी करने और परिणामों को पुन: उत्पन्न करने के लिए पर्याप्त रूप से उपयुक्त होना चाहिए।

कोई भी छवि प्रारूप लागू है।

बोनस

  • यदि आप एक से अधिक आउटपुट स्वरूप की अनुमति देते हैं, तो आपके स्कोर का -10%।
  • -15% यदि आपका कोड भी एक 'सही' क्वीन है। इसका स्रोत कोड नहीं पढ़ा है, लेकिन स्रोत कोड एम्बेडेड है ( उदाहरण के लिए यहां देखें )
  • -30% अगर आपका कोड एक सख्त क्वीन है - यानी कोड की छवि कार्यक्रम में अंतर्निहित है (पीट समाधान, मैं आपको देख रहा हूं।)।

क्या यह सुपाठ्य होना चाहिए?
टिम सेग्यूनी

7
"कोड छवि का उत्पादन स्वयं करना चाहिए, अन्यत्र से संचित संस्करण नहीं।" क्या स्रोत कोड फ़ाइल को पढ़ने की अनुमति है और / या आवश्यक है?
टिम सेग्यूइन

29
मैंने सिर्फ व्हाट्सएप में एक समाधान लागू किया है। परिणामी छवि काफी उबाऊ लगती है।
हावर्ड

7
यहाँ Piet में लिखा गया एक दिलचस्प चित्र है: mamememo.blogspot.be/2009/10/piet-quine.html
ProgramFOX

3
यहाँ एक नज़र है !!! en.wikipedia.org/wiki/Tupper%27s_self-referential_formula
Kaz

जवाबों:


25

खोल

"सोर्स कोड की एक छवि प्रिंट करें" द्वारा, मैं मानता हूं कि वास्तव में एक छवि को कागज पर प्रिंट करना स्वीकार्य होगा।

#!/bin/sh
lpr $0

21

7
क्या आप समुदाय को इसका उत्तर दे सकते हैं? यह बाह्य-स्रोत वाले उत्तर के लिए हमारी मानक नीति बन गई है। यह वास्तव में अच्छा है, हालांकि!
जोनाथन वान मैट्रे

@JonathanVanMatre वूप्स, सॉरी। यही मेरा मतलब था। मुझे लगता है कि मुझे दूसरी चर्चा में भाग लेते समय सवालों के जवाब देने की कोशिश नहीं करनी चाहिए ।
द गाइज़ विथ द हैट

यह दोनों का निचला हिस्सा है। -30% और -15%
प्योरफेरेट

14

PHP - 487 × 0.9 × 0.85 = 372.555 (2000 × 99px)

<?php $y="imagecolorallocate";$l=[
'<?php $y="imagecolorallocate";$l=[',
'];$i=imagecreate(2e3,99);$y($i,99,99,99);$w=$y($i,$j=0,0,0);$z=function($_)use(&$j,$i,$w){imagestring($i,4,9,$j+=15,$_,$w);};$z($l[0]);foreach($l as$m)$z(chr(39).$m.chr(39).",");$z($l[1]);$argv[1]($i,"o");',
];$i=imagecreate(2e3,99);$y($i,99,99,99);$w=$y($i,$j=0,0,0);$z=function($_)use(&$j,$i,$w){imagestring($i,4,9,$j+=15,$_,$w);};$z($l[0]);foreach($l as$m)$z(chr(39).$m.chr(39).",");$z($l[1]);$argv[1]($i,"o");

यदि चेतावनी ठीक है: PHP - 479 × 0.9 × 0.85 = 366.435

<?php $y=imagecolorallocate;$l=[
'<?php $y=imagecolorallocate;$l=[',
'];$i=imagecreate(2e3,99);$y($i,99,99,99);$w=$y($i,$j=0,0,0);$z=function($_)use(&$j,$i,$w){imagestring($i,4,9,$j+=15,$_,$w);};$z($l[0]);foreach($l as$m)$z(chr(39).$m.chr(39).",");$z($l[1]);$argv[1]($i,o);',
];$i=imagecreate(2e3,99);$y($i,99,99,99);$w=$y($i,$j=0,0,0);$z=function($_)use(&$j,$i,$w){imagestring($i,4,9,$j+=15,$_,$w);};$z($l[0]);foreach($l as$m)$z(chr(39).$m.chr(39).",");$z($l[1]);$argv[1]($i,o);

आप पहली कमांड लाइन तर्क के रूप में उपयोग करने के लिए आउटपुट फ़ंक्शन प्रदान करते हैं:

php timwolla.php imagepng

चेतावनी के साथ समाधान:


5
मुझे लगता है कि यह पहली वास्तविक क्वीन है और न केवल एक स्क्रिप्ट अपने स्वयं के स्रोत कोड को पढ़ती है, या बस खुद का स्क्रीनशॉट लेती है।
नाइट्रो 2k01

दो प्रश्न, क्या आप अपने दशमलव के लिए एक अलग संकेतन का उपयोग कर सकते हैं? यह हल्के से भ्रमित करने वाला है। इसके अलावा छवि इतनी छोटी क्यों है? यह पढ़ना मुश्किल है (
वास्तव में

2
@Pureferret बस इसे ज़ूम इन करें। यह वास्तव में पिक्सेल किए जाने के बावजूद काफी पठनीय है।
रुसलान

1
@Pureferret बस उन्हें बदल दिया है, मुझे यह याद नहीं है कि यह अंग्रेजी में अलग है ...
TimWolla

13

व्हॉट्सएप, 125



















एक छवि फ़ाइल को pbm प्रारूप में आउटपुट करता है।

यदि आप इस कोड का परीक्षण कर रहे हैं, तो कृपया इसे "संपादित करें" पर क्लिक करके कॉपी करें, और <pre>टैग के बीच सब कुछ कॉपी करें।

आउटपुट:

P1 1 1 0

7
रिक्त स्थान और टैब के बीच सूक्ष्म अंतर को देखने के लिए स्क्रीन पर कटाक्ष करते हुए प्रतियां .... कार्यक्रम चलाता है .... हार्ड ड्राइव में विस्फोट होता है
जोनाथन वान मैटर

17
यह उत्तर आवश्यकता को पूरा नहीं करता है। स्रोत कोड को पुन: पेश करने के लिए छवि पर्याप्त रूप से पठनीय नहीं है।
user2357112

2
@ user2357112 लेकिन आप यह साबित नहीं कर सकते। यही कारण है कि मैं यहाँ शोषण कर रहा हूँ।
duci9y

21
हां, मैं सूचना सिद्धांत का उपयोग कर सकता हूं। पूरी तरह से कठोर औचित्य 600-वर्ण की टिप्पणी के दायरे से परे होगा, लेकिन इसका सार यह है कि आपकी छवि कोड की छवि के समान है जो काम नहीं करती है।
user2357112

3
फ्रांसीसी को क्षमा करें, लेकिन बी.एस. नियम कहते हैं कि कोड सुपाठ्य होना चाहिए। व्हॉट्सएप में कोड लिखना नकारात्मक नहीं है। यह आपके प्रोग्राम को Sublime Text में दिखाया गया है, जब चयनित: i.imgur.com/A2ZaQwI.png यह सुपाठ्य है। जो भी आपके कार्यक्रम के आउटपुट नहीं है। और इसके अलावा, आपने यह नहीं बताया है कि आपका प्रोग्राम आउटपुट वास्तव में आपका सोर्स कोड है या सिर्फ एक खाली इमेज।
नाइट्रो 2k01

13

गणितज्ञ, char ३१ वर्ण

(#2[#1[#0[#1,#2]]]&)[Defer,Rasterize]

(Rasterize[#1[#0[#1]]]&)[Defer]

यहाँ छवि विवरण दर्ज करें

Mathematica.stackexchange.com में एक उत्तर से प्रेरित ।


इसे समझाएं ... क्या #n के लिए हैं? शायद हम इसका पता लगा सकते हैं।
प्योरफेरेट

कम से कम यह बिना FrontEnd के काम करता है। ( Export["/tmp/out.png",%]इस कमांड को चलाने के बाद कोशिश की गई)
रुस्लान

2
@Pureferret का #nअर्थ nशुद्ध कार्य का तर्क है ( &बिंदु पर निर्मित )। संपूर्ण अभिव्यक्ति का विस्तार होता है Rasterize[Defer[#0[Defer,Rasterize]]], जहां #0मूल शुद्ध कार्य का पुनरावर्ती कॉल होता है। एक तरह से, यह एक सख्त क्वीन नहीं है, लेकिन इसे काम करने के लिए किसी भी प्रकार की आवश्यकता नहीं है, और IMO एक अच्छा समाधान है।
रुसलान

मैं Defer [] और Rasterize [] दोनों कमांड और ऑब्जेक्ट के ऑब्जेक्ट के रूप में उपयोग की प्रशंसा करता हूं। मैंने पहले कभी इस तरह से प्रस्तुत की गई पुनरावृत्ति नहीं देखी है।
माइकल स्टर्न

10

AppleScript, 68 37

ठीक है, अगर आप ImageMagick को zsh में कह सकते हैं तो यह भी मान्य है। मैं अभी भी अपनी संतुष्टि के लिए कुछ अधिक सुरुचिपूर्ण और एक-की-आत्मा पर हैकिंग कर रहा हूं, लेकिन शुद्ध गोल्फ के लिए, हम यहां हैं:

नया संस्करण

do shell script "screencapture q.jpg"

पुराना संस्करण

tell application "System Events" to keystroke "#" using command down

मुझे लगता है कि यह अभी भी पीटा जाएगा, लेकिन पुराने AppleScript इस एक के लिए succinctness की एक सराहनीय नकल करता है।

अपनी रानी को रोको

do shell script "screencapture -c"

3
मुझे लगता है कि एक क्वीन, परिभाषा के अनुसार, अपने स्रोत कोड को केवल एकमात्र आउटपुट के रूप में प्रस्तुत करता है , लेकिन यह सुनिश्चित नहीं है कि क्या इस प्रश्न पर लागू होना चाहिए। nyx.net/~gthompso/quine.htm
duci9y

हाँ, मैं वास्तव में यह पता लगाने की कोशिश कर रहा हूं कि इसे केवल अपनी खिड़की के कोड क्षेत्र का चयन करने के लिए कैसे प्राप्त किया जाए, लेकिन मुझे लगा कि मैं आगे जाऊंगा और AppleScript क्षेत्र में अपना झंडा लगाने के लिए इसे फेंक दूंगा।
जोनाथन वान मैट्रे

मैं इसे वैध मानता हूं और इस प्रकार की कुछ उम्मीद कर रहा था।
प्यूर्फ्रेट

सख्त रानी नहीं। (प्रोग्रामेटिक रूप से अपना स्वयं का सोर्स कोड उत्पन्न नहीं करता है।)
नाइट्रो 2k01

3
तकनीकी रूप से, इनमें से कोई भी पीट जवाब को छोड़कर कड़े उद्धरण नहीं हो सकता है , क्योंकि इनमें से कोई भी भाषा छवियों को स्रोत कोड के रूप में नहीं लेती है। लेकिन मैं अभी भी मेरा एक और सख्त-एर संस्करण बनाने के लिए दृढ़ हूं। :)
जोनाथन वान मैट्रे

8

गणितज्ञ, 83

SelectionMove[InputNotebook[],Previous,Cell];Rasterize@NotebookRead@SelectedCells[]

यहाँ छवि विवरण दर्ज करें


1
सख्त रानी नहीं। (प्रोग्रामेटिक रूप से अपना स्वयं का सोर्स कोड उत्पन्न नहीं करता है।)
नाइट्रो 2k01

1
आयातित के साथ भी ( mathया MathKernel) सीमांत के बिना काम नहीं करता है <<JavaGraphics`
रुस्लान

8

श, एक्स और इमेजमैजिक 18.9:

 import -window root a.jpg

यह किसी भी शेल में काम करना चाहिए जिसमें ImageMagick हो।

केवल कोड को प्रिंट करने के लिए clear && यह 26.1 पर आता है

clear && import -window root a.jpg

नमूना उत्पादन:

यहाँ छवि विवरण दर्ज करें


मेरे कंप्यूटर पर परीक्षण किया गया, यह काम करता है।
user12205

4
लिनक्स कंसोल पर मेरे लिए काम नहीं किया । आप आवश्यकताओं में X जोड़ना चाह सकते हैं ।
इल्मरी करोनें

2
सख्त रानी नहीं। (प्रोग्रामेटिक रूप से अपना स्वयं का सोर्स कोड उत्पन्न नहीं करता है।)
नाइट्रो 2k01

1
@nitro मैंने 'Quine' शब्द का दुरुपयोग किया हो सकता है, लेकिन मेरी पोस्ट की पहली पंक्ति में स्रोत कोड की एक छवि का उत्पादन करने का उल्लेख है। मैं अब अपने मूल इरादे को स्पष्ट करने के लिए संपादन कर रहा हूं, और यह भी सच / सख्त quines के लाभ के लिए।
प्योरफेरेट

1
बस जिज्ञासु, मुझे बिटकॉइन और लिटीकॉइन पर्स दिखाई देते हैं; यह ~ 3 साल बाद अब, कोई गंभीर लाभ है? : डी
अल्बर्ट रेनशॉ

5

HTML5 / जावास्क्रिप्ट: 615

<canvas id='i' width=500 height=5000></canvas><script>function d(){var e=document.getElementById("i");var t=e.getContext("2d");t.font="20px Arial";var n=400;var r=25;var i=(e.width-n)/2;var s=60;str="<canvas id='i' width=5000 height=500></canvas>\n<script>"+d+"d();"+wrapText+"<\/script>";wrapText(t,str,i,s,n,r)}function wrapText(e,t,n,r,i,s){var o=t.split(" ");var u="";for(var a=0;a<o.length;a++){var f=u+o[a]+" ";var l=e.measureText(f);var c=l.width;if(c>i&&a>0){e.lineWidth=1;e.strokeStyle="blue";e.strokeText(u,n,r);u=o[a]+" ";r+=s}else{u=f}}e.lineWidth=1;e.strokeStyle="blue";e.strokeText(u,n,r)}d()</script>

डेमो: http://jsfiddle.net/E2738/2/

कोई छवि पर राइट क्लिक कर सकता है और उसे PNG के रूप में सहेज सकता है


2
यह समाप्त होता है<//script>
नहीं कि

1
बेला परिवर्तन में लाइन 11 के अंत में +wrapText+"<//script>";करने के लिए+wrapText+"<\/script>";
ल्यूक

@ बाहर इंगित करने के लिए धन्यवाद। फिक्स्ड।
क्लाइड लोबो

4

जावा, 570 - 10% - 15% = 427.5

15% = 415.5 ( "filepath" शामिल नहीं) - ( "filepath" शामिल), 554 - 10%
को दूर करने के लिए धन्यवाद एंड्रियास करने BufferedImageमेंjava.awt.image.BufferedImage

import java.awt.image.*;class Q{public static void main(String[]a)throws Exception{BufferedImage i=new BufferedImage(3500,12,1);String s="import java.awt.image.*;class Q{public static void main(String[]a)throws Exception{BufferedImage i=new BufferedImage(3500,12,1);String s=%s%s%s;char q=34;i.getGraphics().drawString(String.format(s,q,s,q,q,q,q,q),0,9);javax.imageio.ImageIO.write(i,%spng%s,new java.io.File(%sfilepath%s));}}";char q=34;i.getGraphics().drawString(String.format(s,q,s,q,q,q,q,q),0,9);javax.imageio.ImageIO.write(i,"png",new java.io.File("filepath"));}}

आउटपुट:यहाँ छवि विवरण दर्ज करें

ठीक से देखने के लिए, यह लिंक देखें: देखें http://i.stack.imgur.com/RRSDw.png

यह एक नियमित क्वीन की तरह ही काम करता है, सिवाय इसके कि यह एक इमेज को आउटपुट देता है। वर्तमान प्रारूप है png, लेकिन सभी उदाहरणों को बदलकर प्रारूप को आसानी से बदला जा सकता हैpng जो भी प्रारूप आप चाहते हैं, उस कार्यक्रम में ।

यहाँ कुछ जवाबों के विपरीत, यह एक सच्ची रानी है; कार्यक्रम फ़ाइल का कोई पठन नहीं।


यदि आप "java.awt.image.BufferedImage" को "java.awt.image। *" से बदल देते हैं, तो आप एक और 24 अक्षरों से छुटकारा पा सकते हैं। *
एंड्रियास

4

जावास्क्रिप्ट + JQuery 153 148

नियमित

(function f(){
  c=$('<canvas/>')[0];
  a=c.getContext('2d');
  l=('('+f+')()').split('\n');
  for(i=0;i<l.length;i++)
    a.fillText(l[i],5,12*(i+1));
  $('body').append('<img src="'
      +c.toDataURL("image/png")+'"/>')
})()
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

golfed

function f(){c=$('<canvas>')[0];c.width=750;a=c.getContext('2d');a.fillText(f+'f()',5,9);$('body').append('<img src="'+c.toDataURL("png")+'"/>')}f()
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


1
सख्त रानी नहीं। (प्रोग्रामेटिक रूप से अपना स्वयं का सोर्स कोड उत्पन्न नहीं करता है।)
नाइट्रो 2k01

$? क्या आप jQuery का भी उपयोग कर रहे हैं ??
क्लाइड लोबो

@ क्लाइडोबो यप, लगता है वह है। रुको, आप JQuery के बिना जावास्क्रिप्ट कर सकते हैं? किसने सोचा होगा!
पियरे अरलाउड

@ क्लाइडोबो हां मैं हूं। लेकिन पुस्तकालयों को अनुमति दी जानी चाहिए। यह वास्तव में stdio.hxD का उपयोग करके C प्रोग्राम से अलग नहीं है । JQuery के बिना प्रोग्राम लिखना हालांकि आसान है। बस की जगह $('<canvas/>')[0]के साथ document.createElement('canvas')और $('body').appendसाथ document.write। jQuery ने मुझे बाइट्स से बचाया।
एनाबिस

3

zsh, 57 × 0.9 = 51.3

इसे एक तर्क के रूप में आउटपुट फ़ाइल नाम दें।

convert -annotate +0+10 "$(<$0)" -size 320x14 xc:white $1

पैदा करता है:

उदाहरण आउटपुट


1
क्या यह zsh या इमेजमैजिक है?
काया

@ काया: ठीक है, दोनों। भाषा zsh (या बैश है, लेकिन यह Posix नहीं है), और लाइब्रेरी / टूल ImageMagick (या GraphicsMagick, यदि आप चाहें तो) - जैसे PHP के साथ GD या Ruby के साथ RMagick है।
Ry-

1
@Pureferret: जोड़ा गया।
Ry-

सख्त रानी नहीं। (प्रोग्रामेटिक रूप से अपना स्वयं का सोर्स कोड उत्पन्न नहीं करता है।)
nitro2k01

3

C99 (SDL & SDL_ttf का उपयोग करके), 414 354 346 - 15% = 294.1

#include<SDL_ttf.h>
#define Q(P)char*q=#P;P
Q(
i=5;main(){for(SDL_Surface*s=SDL_SetVideoMode(2048,80,SDL_Init(SDL_INIT_VIDEO),TTF_Init());i--;SDL_SaveBMP(s,"q.bmp"))SDL_BlitSurface(TTF_RenderText_Blended(TTF_OpenFont("q.ttf",9),(char*[]){"#include<SDL_ttf.h>","#define Q(P)char*q=#P;P","Q(",q,")"}[i],(SDL_Color){~0}),0,s,&(SDL_Rect){0,16*i});}
)

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

यहाँ एक ही कोड है, लेकिन कुछ अतिरिक्त लाइन टूटने के साथ सुस्ती के लिए:

#include<SDL_ttf.h>
#define Q(P)char*q=#P;P
Q(
i=5;main(){for(SDL_Surface*s=SDL_SetVideoMode(2048,80,
SDL_Init(SDL_INIT_VIDEO),TTF_Init());i--;SDL_SaveBMP(s,"q.bmp"))
SDL_BlitSurface(TTF_RenderText_Blended(TTF_OpenFont("q.ttf",9),
(char*[]){"#include<SDL_ttf.h>","#define Q(P)char*q=#P;P","Q(",q,")"}[i],
(SDL_Color){~0}),0,s,&(SDL_Rect){0,16*i});}
)

अफसोस की बात है, यह ग्राफिकल आउटपुट में लाइन ब्रेक को भी नहीं जोड़ता है:

उत्पादन

आउटपुट अभी भी सुपाठ्य है, हालांकि 9-पॉइंट आउटपुट और लाल फ़ॉन्ट रंग के साथ, यह थोड़ा विद्रूप है। आप की जगह एक चरित्र की कीमत पर यह सुधार कर सकते हैं 9के साथ12 । (ध्यान दें कि परिणामी छवि का आयाम 2048x80 तक हार्डकोड किया गया है। विभिन्न फोंट में अंतर को समायोजित करने के लिए, सही और मार्जिन के लिए अतिरिक्त का एक उचित बिट जोड़ा गया है, इतना पर्याप्त है कि एक आकार -12 फ़ॉन्ट अभी भी आराम से फिट होना चाहिए (यदि आप इसे और बढ़ाना चाहते हैं, हालांकि, आयामों को संभवतः भी बदलना होगा।)

प्रोग्राम बनाने की कमांड है:

gcc -Wall -o imgquine imgquine.c -lSDL_ttf `sdl-config --cflags --libs`

कार्यक्रम मानता है कि एक q.ttfनिर्देशिका फ़ाइल है जिसे वर्तमान निर्देशिका में कहा जाता है। मैंने निम्नलिखित कमांड चलाकर इस पर पहले से ध्यान रखा (जो कि अधिकांश आधुनिक लिनक्स पर काम करना चाहिए):

ln -s `fc-match --format='%{file}' sans` ./q.ttf

(इसके बजाय अपने पसंदीदा ट्रू टाइप फ़ॉन्ट को आयात करने के लिए स्वतंत्र महसूस करें।)

प्रोग्राम को चलाने के बाद, इमेज आउटपुट को मौजूदा डायरेक्टरी में बनाया जाएगा, जिसका नाम एक फाइल होगा q.bmp। दुर्भाग्य से विंडोज बिटमैप फाइलें केवल आउटपुट स्वरूप है जो यह प्रोग्राम प्रदान करता है। अधिक आउटपुट स्वरूप जोड़ने से अधिक पुस्तकालयों में लिंकिंग की आवश्यकता होगी।

ध्यान दें कि यह कार्यक्रम गैर-सरल शाब्दिक मूल्यों को पेश करने के लिए C99 के सिंटैक्स का लाभ उठाता है, इस प्रकार उन चर की संख्या को कम करता है जिन्हें परिभाषित करने की आवश्यकता होती है। यह ऐसी चीज है जिसका अधिक सी गोल्फर्स को फायदा उठाना चाहिए।


2

सी # - 498 - 15% = 423.3

यह शायद अधिक गोल्फ हो सकता है। मैंने पहले कभी C # में इस तरह के ग्राफिक्स या इस तरह के ग्राफिक्स नहीं लगाए हैं:

using System;using System.Drawing;class Q{static void Main(){var b = new Bitmap(3050, 20);var g=Graphics.FromImage(b);string f="using System;using System.Drawing;class Q{{static void Main(){{var b = new Bitmap(3050, 20);var g=Graphics.FromImage(b);string f={0}{1}{0},e={3}{0}{2}{0};g.DrawString(String.Format(f,(char)34,f,e,'@'),SystemFonts.MenuFont,Brushes.Black,0,0);b.Save(e);}}}}",e=@"D:\p.png";g.DrawString(String.Format(f,(char)34,f,e,'@'),SystemFonts.MenuFont,Brushes.Black,0,0);b.Save(e);}}

आउटपुट: यहाँ छवि विवरण दर्ज करें

एक अलग प्रारूप समर्थन जोड़ना आसान होगा। यकीन नहीं है अगर यह इसके लायक है, हालांकि।


2

रूबी, 104 वर्ण

require "RMagick"
include Magick
Draw.new.annotate(i=Image.new(999,99),0,0,0,9,File.read($0))
i.display

उदाहरण आउटपुट, प्रति अनुरोध: i.imgur.com/jMC594C.png


क्या आपके पास एक उदाहरण आउटपुट है?
प्यूरफेरेट

@Pureferret देखें संपादित करें
शेल्वैकु

1
सख्त रानी नहीं। (प्रोग्रामेटिक रूप से अपना स्वयं का सोर्स कोड उत्पन्न नहीं करता है।)
नाइट्रो 2k01

1

पायथन: 255 238 -10% -15% = 195.075 182.07

import sys,PIL.ImageDraw as D;i=D.Image.new('L',(2000,20));r="import sys,PIL.ImageDraw as D;i=D.Image.new('L',(2000,20));r=%r;D.Draw(i).text((0,0),r%%r,fill=255);i.save(sys.argv[1])";D.Draw(i).text((0,0),r%r,fill=255);i.save(sys.argv[1])

उपयोग:

python imgquine.py quine.jpg

यह एक सच्ची क्वीन है जो आउटपुट को कमांडलाइन पर निर्दिष्ट फ़ाइल में खींचती है। फ़ाइल प्रारूप को केवल फ़ाइल नाम एक्सटेंशन (उदाहरण के quine.jpgलिए JPEG और quine.pngPNG के लिए) में बदलकर सेट किया गया है ।

उदाहरण आउटपुट (2000x20 छवि):

काफी उत्पादन


आप के 2e3बजाय का उपयोग करके कुछ आकर्षण बचा सकता है 2000
काया

@ काया: नहीं, मैं नहीं कर सकता, दुर्भाग्य से: 2e3एक है float, और Image.newमांग करता हैint एस।
nnonneo

ओह परेशान, मुझे लगता है कि यह मजबूर होगा।
काया
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.