Anonymní profil peter – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil peter – Programujte.comAnonymní profil peter – Programujte.com

 

Příspěvky odeslané z IP adresy 2001:718:2601:258:5b1:4a21:f88d:b089...–

peter
Python › Podprogramy s proměnnou
28. 3. 2022   #390046

   

 _ _ _ _ _ _ 
|_|_|_|_|_|_|
|_|_|_|_|_|_|
|_|_|_|_|_|_|

A jak bys kreslil kralniky do tabulky?

Cyklus pro x = 0 az 5
  Cyklus pro y = 0 az random(3)
     vybarvi puntik (x,y, cerna)

Jenom, to vybarveni musis provest na canvas (coz je pojmenovani x-y mrizky pro funkce sobrazky) a canvas pak zobrazit na obrazovku.

peter
Python › Vytištění RGB palety v obdél…
28. 3. 2022   #390044

krok 1: najdes si nejaky kod
https://www.geeksforgeeks.org/…ixel-method/

# Importing Image from PIL package 
from PIL import Image
      
# creating a image object
image = Image.open(r'C:\Users\System-Pc\Desktop\python.png') 
  
width, height = image.size
  
for x in range(height):
    image.putpixel( (x, x), (0, 0, 0, 255) )
  
image.show()

Z toho kodu, je jasne videt, ze python pouziva pro vykreslovani funkci
image.putpixel( (x, x), (0, 0, 0, 255)
---
krok 2, zjistis neco vic, treba najsed dokumentaci: google = python putpixel documentation
putpixel((x,y),(r,g,b,0)) https://linuxtut.com/…a52191b164b/
Cili, do te funkce se zadavaji souradnice, x,y, ktere budes generovat cyklem. A slozky barvy r-g-b, red-gree-blue a nejaka ctvrta slozka, ktera nejspis bude pruhlednost, jas nebo tak neco.
---
krok 3: Takze, bys si nejdriv vyrobil program, ktery mi zobrazi tak 10 pixelu. Az to budes mit, tak ma smysl zabyvat se cykly.
---
Jak generovat ten obrazek?
Musis se na ten obrazek divat jako na tabulku cisel.
Nahore jsou bile barvy. Bila barva ma vsechy red-green-blue = 255, 255, 255, putpixel((x,y),(255,255,255,0))
Dole jsou cerne barvy. Cerna je nula. red-green-blue = 0, 0, 0.
Takze, uz v tuto chvili vis, ze cyklus pujde zhora 255 dolu do 0 pro vsechny 3 slozky barvy.

Ale, jak to bude s tim zleva doprava?
Tam je poradi barev fialova, cervena, zluta, zelena, svetla modra, modra, fialova.
fialova 255, 0, 255 (cerveno-fialova)
cervena 255, 0, 0 (cervena)
zluta 255, 255, 0 (cerveno-zelena)
zelena 0, 255, 0 (zelena)
svetla modra 0, 255, 255 (zeleno-modra)
modra 0, 0, 255 (modra)
fialova 255, 0, 255 (cerveno-fialova)
Takze, potrebujes funkci, ktera pro x 0-255 nebo 0-1000 vygeneruje hodnoty duhy a pro y 0-255 ty hodnoty zeslabi o 0-255.
funkce (x, x_max, y, y_max) {vypocitej barvu}
Kde ten vypocet budes delat vypoctem pomeru, prevazne. x/x_max * 255, y/y_max * 255.
---
Pozn. Mozna bude mozne pouzit funkce pro hsl-barevny model nebo rgb model. A nebo je to zavadejici informace :)
google = rgb grayscale wiki
Sedy odstin (prevod barevneho obrazku na sedy) se v rgb pocita jako
shadow = 0.2627 * r + 0.7152 * g + 0.0722 * b
Pozn: Lidske oko je citlive na zeleno-zlutou barvu. Tu vnima jako nejsvetlejsi. Takze, pri vypoctu jasu hraje zasadni roli, 71.52%.
---
To, ze jste dostali za 5 je z lenosti. Treba si sednout a premyslet nad tim, co znas. A sehnat nekoho, kdo ti poradi, co s tim, pripadne i sam ucitel. Jde o to se to naucit, nejde o to trestat zaky petkami. Znamka jen hodnoti znalosti, ktere jsi prokazal. Bud je hrozne spatne zadani nebo jsi nevenoval dost casu pochopeni problemu. Nebo jsi nepochopil zaklady. Co se vlastne v takovem programu da a neda delat.
Program jen vykonava prikazy. A pracuje jen s tim, co ma v pameti. Neco veme z pameti, provede s tim nejake operace a vrati to zpet do pameti. Disk, kraficka karta, pametova karta, vse je to pamet, ktera je pristupna pres cislo. nacti_z(n), zapis_do(n). Pocitac ma urcene, ze  

n=[0 az x] je disk, 
n=[x+1 az y] je graficka karta, 
n=[y+1 az z] je kopirovani dat pres sitovy kabel... 

Cili, vse, co muzes delat jsou jen vypocty a presun 1 nebo vice znaku z pameti z procesoru nebo zpet do pameti. K tomu mas promene a cykly a operace s promenymi (porovnani IF, matematicke nebo jine funkce nebo tvoje funkce, ruzne moduly ktere delaji spoustu veci uz za tebe).
Takze, kdyz po vas ucitel chce program, tak chce, abys tam mel funkce, promene a cykly. A vsechno, ostatni v zadani do toho musis napasovat.

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý