Kezdőoldal » Számítástechnika » Programozás » C#-ban meg lehet e írni egy...

C#-ban meg lehet e írni egy olyan programot ami beolvas egy file-t (pl egy képet) felbontja számkódokra és reverzibilis módon összekeveri azokat?

Figyelt kérdés
ha igen le tudnátok írni a saját elképzeléseteket?

2012. jún. 21. 14:36
1 2
 1/11 iostream ***** válasza:

Ugye itt két dolog van: betölteni a képfájlt a memóriába, és a reverzibilis, de mégis véletlenszerűnek látszó keverőalgoritmus.

Az elsőre vannak könyvtárak, keresgélj (ilyesmikre biztos találsz százmillió példaprogramot, hogy display picture c# vagy show picture vagy load picture vagy picture helyett jpg/png/bmp stb.), sőt, gyanítom, hogy a .NET-ben is van ilyen.

A másodikra pedig mit jelent az, hogy számkód? A pixelek színkódjai? Ezen egy kicsit törd a fejed, akár rajzolj is, hogy hogy lenne jó.

2012. jún. 21. 16:14
Hasznos számodra ez a válasz?
 2/11 A kérdező kommentje:
rendben. köszi a választ. csak mondjuk elég béna vagyok de megpróbálok megtanulni pár parancsot. ja igen számkód alatt a pixelek színére gondoltam.
2012. jún. 21. 17:53
 3/11 anonim ***** válasza:

Persze, hogy meg lehet.

Betölteni a képet és pixelenként hozzáférni nem nagy cucc. A lényeg itt a keverőalgoritmus, ez az, amit Neked kell kitalálnod. A kérdés, hogy mi a célod vele. Csak simán nézhetetlenné akarod tenni a képet? Mert akkor pl. pixel-soronként végigmész rajta a feléig, a páratlan sorokat megcseréled mondjuk a legutolsó sortól visszafelé haladva a sorokkal, a páros sorokat meg a középső sortól előrefelé haladva a sorokkal. Ezt most csak így hasraütésre írtam, de szerintem nem lesz felismerhető a kép, és reverzibilis.

2012. jún. 21. 19:35
Hasznos számodra ez a válasz?
 4/11 A kérdező kommentje:
igen ez cél :D egész gyors megoldás csak nem tudom hogy kivitelezhetem. alaposan utána kell járnom :D
2012. jún. 21. 20:06
 5/11 anonim ***** válasza:

Ha a 19:35ös módszerét használod, akkor elég felismerhető lesz a kép, hiszen pl. a kép alsó felében az eredeti képed felső felét kapod meg 2x "kisebb felbontásban". (az alsó negyed kép tükrözve lesz)

Ha nem fontos a pixel csere, hanem mondjuk az egyes pixelek módosítása is megfelel, akkor teheted azt, hogy inicializálsz egy Random objektumot egy adott seed-del, sorba mész a pixeleken, és mindne pixelt XOR-olsz a következő random értékkel. Dekódoláshoz ugyanezt kell csinálni, mivel (x XOR r) XOR r = x, ahol x a pixeled, r a random szám.

Ha ragaszkodsz a csereberéhez, akkor is sztem vmi adott seed-del kezdődő randomot használj, mivel ez véletlenszerűnek tűnik, mégis kiszámítható.

2012. jún. 22. 01:08
Hasznos számodra ez a válasz?
 6/11 anonim ***** válasza:

"Ha a 19:35ös módszerét használod, akkor elég felismerhető lesz a kép"


19.35 vagyok, ja, kipróbáltam, valóban eléggé felismerhető :) De azért érdekes formák jönnek ki XD És nem pontosan az, amit te leírtál :D

2012. jún. 22. 18:29
Hasznos számodra ez a válasz?
 7/11 anonim ***** válasza:

Akkor vagy én értettem félre, vagy te rontottál el valamit.

Tegyük fel, hogy 20 sor van a képen, akkor így kevered ha jól értem (sorszámok):

1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20

20,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,1

20,11,3,4,5,6,7,8,9,10,2,12,13,14,15,16,17,18,19,1

20,11,19,4,5,6,7,8,9,10,2,12,13,14,15,16,17,18,3,1

20,11,19,12,5,6,7,8,9,10,2,4,13,14,15,16,17,18,3,1

...

20,11,19,12,18,13,17,14,16,15,2,4,6,8,10,9,7,5,3,1


Ebből a 2,4,6,8,10 rész (ami az ekészült kép harmadik negyede) pont az eredeti kép felső felének "kicsinyített" mása. A 9,7,5,3,1 szintén, csak tükrözve. Én ezt írtam.

2012. jún. 22. 21:58
Hasznos számodra ez a válasz?
 8/11 A kérdező kommentje:
be tudnátok másolni egy forráskódot? szívesen szemezgetnék parancsok közül amúgy én elakadtam már a szöveg unicode kóddá való kódolás és visszakódolásnál. a szöveg kódolása megvan de unicode számokból visszakódolni nem tudom.
2012. jún. 23. 00:21
 9/11 anonim ***** válasza:

Miért kell egyáltalán szöveggé alakítani?

Nem is értem..

egyébként itt a forrás(csak a lényeges részt másoltam ki):

[link]


De tényleg nem működik annyira faszául, ki lehet venni az eredeti kép részleteit :)

2012. jún. 23. 01:11
Hasznos számodra ez a válasz?
 10/11 anonim ***** válasza:

Bent maradt pár felesleges sor :)

[link]

2012. jún. 23. 01:14
Hasznos számodra ez a válasz?
1 2

További kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!