Šodien, izmantojot aforgr.net attēlu apstrādei, tika ziņots par šādu kļūdu:
Avota vai veidnes attēla neatbalstīts pikseļu formāts Pikseļu formāts netiek atbalstīts avota vai veidnes attēlam
Es atradu risinājumu no ārzemju foruma:
Klase ievieš izsmeļošu veidņu atbilstības algoritmu, kas veic pilnīgu avota attēla skenēšanu, salīdzinot katru pikseli ar atbilstošo veidnes pikseli.
Klase apstrādā tikai pelēktoņus 8 bpp un krāsainus 24 bpp attēlus. Tātad, tie ir attēlu formāti, kas jums jāizmanto.
Kā pieprasīts, lai pārvērstu konkrētā pikseļu formātā, varat to izdarīt:
publiskais statiskais bitkartes ConvertToFormat(šis attēla attēls, PixelFormat formāts) { Bitkartes kopija = jauna Bitkarte(attēls. Platums, attēls. Augstums, formāts); izmantojot (Graphics gr = Graphics.FromImage(copy)) { gr. DrawImage(attēls, jauns taisnstūris(0, 0, kopēt. Platums, kopija. Augstums)); } atgriezt eksemplāru; } Ķīniešu tulkojums ir šāds: Klase ievieš pilnīgu veidnes atbilstības algoritmu skenētajiem attēliem, salīdzinot katru pikseli un salīdzinot to ar atbilstošā pikseļa veidni.
Klase var apstrādāt tikai pelēktoņu un krāsu attēlus24 8 BPP BPP. Tātad, šie ir attēlu formāti, kas jums jāizmanto. Pēc vajadzības, konvertējot uz noteiktu pikseļu formātu, to var izdarīt: Publiskā statiskā bitkarte converttoformat (šis attēls, pikseļu formāta formāts)
{ bitkartes kopija = jauna bitkarte (image.width, image. augstums, formāts); Izmantojiet (grafiskais GR = grafiskais attēls (kopija). )
{ gr.drawimage(attēls, jauns taisnstūris (0,0, platums, augstums kopija. Kopēt. ));
} Atgriezties pie kopijas;
}
|