AMcoder - javascript, python, java, html, php, sql

SFML-ը 8-բիթանոց բիթքարտեզները ճիշտ չի ներկայացնում

Օգտագործելով SFML-ը, ես կարող եմ նկարի ցանկացած ձևաչափի մասին պատկերել՝ օգտագործելով հետևյալ կոդը.

        SFML.Graphics.Image     img = new SFML.Graphics.Image("pic.bmp");
        SFML.Graphics.Texture   tex = new Texture(img);
        SFML.Graphics.Sprite    sprite = new Sprite(tex);
        renderWindow.Draw(sprite);

Բայց սա ճիշտ չի աշխատում մի քանի բիթքարտեզների հետ (.bmp ընդլայնումով ֆայլեր), որոնք ֆորմատավորված են 8 բիթով (256 գույներով): Կարծես թե SFML lib-ը փորձում է կարդալ այն 16 կամ 32 բիթով:

Ձախ կողմում բնօրինակ նկարն է, աջ կողմում այն, որը չի ստացվել:

Այս իրավիճակը շտկելու բան կա՞:


Թարմացնել. Ես բացել եմ խնդրահարույց bmp ֆայլերը paint-ով և պարզապես պահել դրանք նույն ձևաչափով (8 բիթ), այնուհետև SFML-ը կարողացավ պատշաճ կերպով ցուցադրել դրանք: Բայց սա միայն թեստ է, և ես չեմ կարող դա անել ներկով, ինձ միայն կոդով լուծում է պետք:

12.03.2019

  • SFML.NET-ի ո՞ր տարբերակն եք օգտագործում: Մենք օգտագործում ենք stb_image պատկերները բեռնելու համար: Փաստաթղթերի համաձայն, այն աջակցում է BMP non-1bpp, non-RLE: 14.03.2019
  • Ես օգտագործում եմ SFML 2.4.0, տեղադրված nuget փաթեթը կոչվում է Graphnode.SFML.Net, այն SFML.Net 2.4-ի Fork է, որը ներառում է CSFML-ի և՛ x86, և՛ x64 տարբերակները, որոնք ստեղծվել են Լորան Գոմիլայի և Զաքարիա Բրաունի կողմից: 15.03.2019
  • Վերջերս մենք թողարկեցինք NuGet փաթեթների առաջին փաթեթը SFML.Net-ի համար, որոնք հիմնված են SFML 2.5-ի վրա: Հնարավոր է, որ ցանկանաք փորձել դրանք, բայց կարծում եմ, որ դա ձեզ չի օգնի լուծելու խնդիրը. nuget.org/packages/SFML.Net 15.03.2019

Պատասխանները:


1

Եթե ​​ֆայլերը մեկ այլ հավելվածում նորից պահելով խնդիրը լուծվում է, ապա ինձ թվում է, որ դուք ունեք հատուկ ձևաչափ, որը չի աջակցվում stb_image և, հետևաբար, չի աջակցվում SFML-ի կողմից:

Ես բարձր խորհուրդ եմ տալիս օգտագործել PNG ձևաչափը, քանի որ այն ապահովում է պատշաճ թափանցիկություն և օգտագործում է առանց կորուստների սեղմում:

15.03.2019
Նոր նյութեր

Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..