Dosya:CRT image creation animation.gif - Vikipedi
İçeriğe atla
Ana menü
Gezinti
  • Anasayfa
  • Hakkımızda
  • İçindekiler
  • Rastgele madde
  • Seçkin içerik
  • Yakınımdakiler
Katılım
  • Deneme tahtası
  • Köy çeşmesi
  • Son değişiklikler
  • Dosya yükle
  • Topluluk portalı
  • Wikimedia dükkânı
  • Yardım
  • Özel sayfalar
Vikipedi Özgür Ansiklopedi
Ara
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç

Dosya:CRT image creation animation.gif

Sayfa içeriği diğer dillerde desteklenmemektedir.
  • Dosya
  • Tartışma
  • Oku
  • Wikimedia Commons üzerinde gör
  • Yerel açıklama ekle
  • Yerel açıklama kaynağı ekle
Araçlar
Eylemler
  • Oku
  • Wikimedia Commons üzerinde gör
  • Yerel açıklama ekle
  • Yerel açıklama kaynağı ekle
Genel
  • Sayfaya bağlantılar
  • Basılmaya uygun görünüm
  • Sayfa bilgisi
  • Kısaltılmış URL'yi al
  • Karekodu indir
Diğer projelerde
Görünüm
Vikipedi, özgür ansiklopedi
  • Dosya
  • Dosya geçmişi
  • Dosya kullanımı
  • Küresel dosya kullanımı
  • Üstveri
Dosya:CRT image creation animation.gif
Daha yüksek çözünürlüğe sahip sürüm bulunmamaktadır.
CRT_image_creation_animation.gif ((546 × 532 piksel, dosya boyutu: 6,61 MB, MIME tipi: image/gif), döngüye girdi, 192 kare, 3,8 sn)
Bu dosya Wikimedia Commons'ta bulunmaktadır. Dosyanın açıklaması aşağıda gösterilmiştir.
Commons, serbest/özgür telifli medya dosyalarının bulundurulduğu depodur. Siz de yardım edebilirsiniz.
Bu dosya Wikimedia Commons'ta bulunmaktadır.

Özet

AçıklamaCRT image creation animation.gif
Deutsch: Animation des Bildaufbaus bei einer Kathodenstrahlröhre mit Interlacing-Verfahren.
English: Animation of the image construction for a cathode ray tube with interlacing method.
Tarih 7 Kasım 2021
Kaynak Yükleyenin kendi çalışması
Yazar Laserlicht
Due a bug only even x and y values possible!
Create Gif with ImageMagick: ‎convert -delay 2 video.tiff -repage 546x532+-18+0 -set dispose background -coalesce -layers Optimize video.gif
Imagick only support max 200 frames without bug. 🤨
The image used for this file was 16px x 12px = 192 Frames
used image

Code

#Path to Cairo Lib
import os
os.environ["PATH"] = r"D:\Programme\msys64\mingw64\bin" + os.pathsep + os.environ["PATH"]

#Imports
import drawSvg as draw
from PIL import Image
import numpy as np
import webbrowser

#Global Settings
in_img = "img3.jpg"
intensity_multiplicator = 0.990

#Image
im = Image.open(in_img)
pix = np.array(im)
pix = np.transpose(pix, (1, 0, 2))
intensity = np.arange(pix.shape[0] * pix.shape[1], dtype=np.float64).reshape(pix.shape[0], pix.shape[1])
intensity[:] = 0.0

def render(f):
    global im, intensity

    #Settings / Objects
    size = (600, 600)
    d = draw.Drawing(size[0], size[1], origin=(0, 0), displayInline=False)
    d.append(draw.Rectangle(0, 0, size[0], size[1], fill="#ffffff", fill_opacity=1.0))

    #Draw
    draw_area = (50, 50 + 100, (280/3) * 4, 280)
    gap = (draw_area[2] / pix.shape[0], draw_area[3] / pix.shape[1])

    #   Antenna
    gradient = draw.LinearGradient(draw_area[0], draw_area[1], draw_area[0] + draw_area[2], draw_area[1] + draw_area[3])
    gradient.addStop(0, '#aaaaaa', 1)
    gradient.addStop(1, '#eeeeee', 1)
    gradient = '#cccccc' #overwrite gradient -> disable, because better for gif

    p = draw.Path(stroke_width=2, stroke="#000000", fill=gradient, fill_opacity=1.0)
    p.M(280, 460)
    p.A(10, 10, 0, 0, 1, 300, 460)
    d.append(p)
    d.append(draw.Line(290, 470, 290 + 90, 470 + 90, stroke='black', stroke_width=2, fill='none'))
    d.append(draw.Circle(290 + 90, 470 + 90, 7, fill='black', stroke_width=2, stroke='black'))
    d.append(draw.Line(290, 470, 290 - 120, 470 + 120, stroke='black', stroke_width=2, fill='none'))
    d.append(draw.Circle(290 - 120, 470 + 120, 7, fill='black', stroke_width=2, stroke='black'))

    #   Foot
    p = draw.Path(stroke_width=2, stroke="#000000", fill=gradient, fill_opacity=1.0)
    p.M(290+100, 120)
    p.L(290+100+50, 120-50)
    p.L(290+100+20, 120)
    d.append(p)
    p = draw.Path(stroke_width=2, stroke="#000000", fill=gradient, fill_opacity=1.0)
    p.M(290-100, 120)
    p.L(290-100-50, 120-50)
    p.L(290-100-20, 120)
    d.append(p)

    #   TV housing
    d.append(draw.Rectangle(20, 20 + 100, 540, 340, rx=50, ry=50, fill=gradient, fill_opacity=1.0, stroke="#000000", stroke_width=2))

    #   Blackscreen
    d.append(draw.Rectangle(50, 50 + 100, (280/3)*4, 280, rx=10, ry=10, fill="#000000"))

    #   Display
    while f >= pix.shape[0] * pix.shape[1]: f -= pix.shape[0] * pix.shape[1]
    radius = min(gap[0], gap[1]) / 2
    intensity[:] *= intensity_multiplicator
    for x in range(pix.shape[0]):
        for y in range(pix.shape[1]):
            point_pos = (f % pix.shape[0], f // pix.shape[0])

            if point_pos[1] < pix.shape[1] / 2:
                y_pos = (point_pos[1] * 2 == y)
            else:
                y_pos = (((point_pos[1] - pix.shape[1] / 2) * 2) + 1 == y)

            if point_pos[0] == x and y_pos:
                color = "#ffffff"
                intensity[x, y] = 1.0
            else:
                color = tuple((pix[x][y] * intensity[x][y]).astype(int))
                color = '#%02x%02x%02x' % color
           
            d.append(draw.Circle(draw_area[0] + x * gap[0] + radius, draw_area[1] + draw_area[3] - y * gap[1] - radius, radius, fill=color))

    #   TV
    #       Screen (only Border)
    d.append(draw.Rectangle(50 - 5, 50 + 100 - 5, (280/3)*4 + 10, 280 + 10, rx=15, ry=15, fill="#000000", fill_opacity=0.0, stroke=gradient, stroke_width=10)) #hacky overdraw overlapping circles -> masks don't work...
    d.append(draw.Rectangle(50, 50 + 100, (280/3)*4, 280, rx=10, ry=10, fill="#000000", fill_opacity=0.0, stroke="#000000", stroke_width=2))

    #       Controls
    d.append(draw.Rectangle(75 + (280/3)*4, 130 + 100, 455 - (280/3)*4, 200, rx=10, ry=10, fill="#000000", fill_opacity=0.0, stroke="#000000", stroke_width=2))

    d.append(draw.Circle(75 + (280/3)*4 + 40, 130 + 100 + 160, 25, fill='#888888', stroke_width=2, stroke='black'))
    d.append(draw.Circle(75 + (280/3)*4 + 40, 130 + 100 + 90, 25, fill='#888888', stroke_width=2, stroke='black'))
    d.append(draw.Rectangle(75 + (280/3)*4 + 40, 130 + 100 + 160 - 5, 20, 10, rx=10, ry=10, fill="#888888", fill_opacity=0.0, stroke="#000000", stroke_width=2))
    d.append(draw.Rectangle(75 + (280/3)*4 + 40 - 5, 130 + 100 + 90, 10, 20, rx=10, ry=10, fill="#888888", fill_opacity=0.0, stroke="#000000", stroke_width=2))

    #       Speaker
    for i in range(6):
        p = draw.Path(stroke_width=2, stroke="#000000", fill='black', fill_opacity=0.0)
        p.M(75 + (280/3)*4, 130 + 100 - 20 - 10 * i)
        p.H(75 + (280/3)*4 + 80)
        d.append(p)

    #Output
    d.setRenderSize(size[0], size[1])

    return d

#Prefill Intensity Values
for i in range(pix.shape[0] * pix.shape[1]):
    render(i)

#Render to Images
with draw.animate_video("video.tiff", render) as anim:
    for i in range(pix.shape[0] * pix.shape[1]):
        anim.draw_frame(i)

#Render to SVG/PNG
#d = render(0)
#d.saveSvg("a.svg")
#d.savePng("a.png")

#View
webbrowser.open('file://' + os.path.realpath("video.tiff"))
input()

Lisanslama

Image:

Ben, bu işin telif sahibi, burada işi aşağıdaki lisans altında yayımlıyorum:
w:tr:Creative Commons
atıf benzer paylaşım
Bu dosya, Creative Commons Atıf-Benzer Paylaşım 4.0 Uluslararası lisansı ile lisanslanmıştır.
Şu seçeneklerde özgürsünüz:
  • paylaşım – eser paylaşımı, dağıtımı ve iletimi
  • içeriği değiştirip uyarlama – eser adaptasyonu
Aşağıdaki koşullar geçerli olacaktır:
  • atıf – Esere yazar veya lisans sahibi tarafından belirtilen (ancak sizi ya da eseri kullanımınızı desteklediklerini ileri sürmeyecek bir) şekilde atıfta bulunmalısınız.
  • benzer paylaşım – Maddeyi yeniden düzenler, dönüştürür veya inşa ederseniz, katkılarınızı özgünüyle aynı veya uyumlu lisans altında dağıtmanız gerekir.
https://creativecommons.org/licenses/by-sa/4.0CC BY-SA 4.0 Creative Commons Attribution-Share Alike 4.0 truetrue

Source:

Expat Lisansı altında, bazen MIT Lisansı olarak da bilinir:

Telif hakkı © Laserlicht

Bu yazılımın ve ilişkili belgelendirme dosyalarının ("Yazılım") bir kopyasını alan herhangi bir kişiye, kullanma, kopyalama, değiştirme, birleştirme hakları da dahil ancak bunlarla sınırlı olmamak üzere, herhangi bir sınırlama olmaksızın, Yazılım ile ilgili olarak erişim izni verilir. Yazılımın kopyalarını yayınlamak, lisanslamak ve/veya satmak ve Yazılımın sağlandığı kişilere aşağıdaki koşullara tabi olarak izin vermek için:

Yukarıdaki telif hakkı bildirimi ve bu izin bildirimi, Yazılımın tüm kopyalarına veya önemli bölümlerine dahil edilecektir.

Yazılım, satılabilirlik, belirli bir amaca uygunluk ve ihlal etmeme dahil ancak bunlarla sınırlı olmamak üzere, açık veya zımni hiçbir garanti olmaksızın "olduğu gibi" sağlanır. Hiçbir durumda yazarlar veya telif hakkı sahipleri, Yazılım, sözleşme veya haksız fiilden doğan veya Yazılım ile ilgili olarak veya Yazılımın kullanımından veya bunlarla ilgili diğer anlaşmalardan kaynaklanan herhangi bir talep, hasar veya diğer yükümlülüklerden sorumlu tutulamaz.
Yükleyiciye: MIT Lisansının çeşitli sürümleri vardır, lisansı daha kesin bir şekilde belirtmek isteyebilirsiniz. Ayrıntıları görmek için {{MIT}} bağlantısına tıklayın.
http://opensource.org/licenses/mit-license.phpMITMIT licensetruetrue
Laserlicht

Kaliteli resim

Bu resim, kaliteli resim kılavuzundaki şartlar göz önüne alınarak topluluk tarafından kaliteli resim seçilmiştir.

العربية ∙ جازايرية ∙ беларуская ∙ беларуская (тарашкевіца) ∙ български ∙ বাংলা ∙ català ∙ čeština ∙ Cymraeg ∙ Deutsch ∙ Schweizer Hochdeutsch ∙ Zazaki ∙ Ελληνικά ∙ English ∙ Esperanto ∙ español ∙ eesti ∙ euskara ∙ فارسی ∙ suomi ∙ français ∙ galego ∙ עברית ∙ हिन्दी ∙ hrvatski ∙ magyar ∙ հայերեն ∙ Bahasa Indonesia ∙ italiano ∙ 日本語 ∙ Jawa ∙ ქართული ∙ Qaraqalpaqsha ∙ 한국어 ∙ kurdî ∙ кыргызча ∙ Latina ∙ Lëtzebuergesch ∙ lietuvių ∙ македонски ∙ മലയാളം ∙ मराठी ∙ Bahasa Melayu ∙ Nederlands ∙ Norfuk / Pitkern ∙ polski ∙ português ∙ português do Brasil ∙ rumantsch ∙ română ∙ русский ∙ sicilianu ∙ slovenčina ∙ slovenščina ∙ shqip ∙ српски / srpski ∙ svenska ∙ தமிழ் ∙ తెలుగు ∙ ไทย ∙ Tagalog ∙ toki pona ∙ Türkçe ∙ українська ∙ oʻzbekcha / ўзбекча ∙ vèneto ∙ Tiếng Việt ∙ 中文 ∙ 中文(简体) ∙ 中文(繁體) ∙ +/−

Altyazılar

Bu dosyanın temsil ettiği şeyin tek satırlık açıklamasını ekleyin.

Bu dosyada gösterilen öğeler

betimlenen

yaratıcı

Vikiveri ögesi olmayan bir değer

bağlantısı olmayan yazarı: Laserlicht
Wikimedia kullanıcı adı: Laserlicht
URL: https://commons.wikimedia.org/wiki/User:Laserlicht

telif hakkı durumu

telif hakkı alınmış

telif hakkı lisansı

Creative Commons Atıf-BenzerPaylaşım 4.0 Uluslararası

dosya kaynağı

yükleyicinin orijinal eseri

Commons'ta kalite değerlendirmesi

Wikimedia Commons quality image İngilizce

kuruluşu

7 Kasım 2021

ortam türü

image/gif

sağlama toplamı

8d26037a7a752fe6aef5f771c3387417437262e1

tespit yöntemi: SHA-1

dosya boyutu

6.930.521 bayt

süre

3,840000000000003 saniye

boyu

532 piksel

genişliği

546 piksel

Dosya geçmişi

Dosyanın herhangi bir zamandaki hâli için ilgili tarih/saat kısmına tıklayın.

Tarih/SaatKüçük resimBoyutlarKullanıcıYorum
güncel18.42, 7 Kasım 202118.42, 7 Kasım 2021 tarihindeki sürümün küçültülmüş hâli546 × 532 (6,61 MB)Laserlichtcomment edit
17.41, 7 Kasım 202117.41, 7 Kasım 2021 tarihindeki sürümün küçültülmüş hâli546 × 532 (6,61 MB)Laserlichtwhite BG
17.39, 7 Kasım 202117.39, 7 Kasım 2021 tarihindeki sürümün küçültülmüş hâli546 × 532 (6,95 MB)LaserlichtUploaded own work with UploadWizard

Dosya kullanımı

Bu görüntü dosyasına bağlantısı olan sayfalar:

  • Geçmeli tarama

Küresel dosya kullanımı

Aşağıdaki diğer vikiler bu dosyayı kullanmaktadır:

  • br.wikipedia.org üzerinde kullanımı
    • Skramm korzenn katodek
  • de.wikipedia.org üzerinde kullanımı
    • Kathodenstrahlröhrenbildschirm
    • Zeilensprungverfahren
  • en.wikipedia.org üzerinde kullanımı
    • Cathode ray tube
    • Interlaced video
  • en.wikibooks.org üzerinde kullanımı
    • Signetics 2650 & 2636 programming/Printable version
    • Signetics 2650 & 2636 programming/Analogue TV
  • fa.wikipedia.org üzerinde kullanımı
    • تاریخچه لامپ پرتوی کاتدی
  • fr.wikibooks.org üzerinde kullanımı
    • Les cartes graphiques/Le Video Display Controler
    • Les cartes graphiques/Version imprimable

Üstveri

Bu dosyada, muhtemelen fotoğraf makinesi ya da tarayıcı tarafından eklenmiş ek bilgiler mevcuttur. Eğer dosyada sonradan değişiklik yapıldıysa, bazı bilgiler yeni değişikliğe göre eski kalmış olabilir.

GIF dosyası yorumucreated by Michael H. (aka "Laserlicht" on Wikimedia Commons)
"https://tr.wikipedia.org/wiki/Dosya:CRT_image_creation_animation.gif" sayfasından alınmıştır
  • Gizlilik politikası
  • Vikipedi hakkında
  • Sorumluluk reddi
  • Davranış Kuralları
  • Geliştiriciler
  • İstatistikler
  • Çerez politikası
  • Mobil görünüm
  • Wikimedia Foundation
  • Powered by MediaWiki
Dosya:CRT image creation animation.gif
Konu ekle