Editarea stilurilor umpluturilor de suprafață mapinfo - glab - 2018

Așa cum sa afirmat în repetate rânduri, mijloacele de vizualizare a materialelor grafice în MapInfo Professional până la ură sunt limitate și lipsite de respect față de utilizarea reală. Și ceea ce este și mai îngrozitor pentru un neofit, nu există mijloace regulate de corectare a situației și nu este de așteptat. Dar, după cum se știe, "nevoia excelează mintea". La o analiză atentă, se pare că pentru fiecare problemă similară la utilizatorii MapInfo se ia decizia sub forma "un șurub pe 28 cu sculptura stângă". Modernizată și fără prea mult efort, toate mijloacele de înregistrare, deși cu ajutorul unor diverse trucuri.

Editarea stilurilor de linie a fost discutată în articolul precedent. iar acum este vorba despre editarea zonelor de umplere în MapInfo Professional.

Umplerea obiectelor de zonă MapInfo

Termenul "umple" în ceea ce privește obiectele spațiale din versiunea rusă MapInfo Professional, ca atare, nu este utilizat. În schimb, este introdus termenul "hatching" (?!), Care poate fi verificat prin deschiderea unui dialog pentru proiectarea unui obiect de zonă:

Editarea stilurilor umpluturilor de suprafață mapinfo - glab - 2007

Este greu de înțeles de ce termenul "Fill" (fiil (en) -> fill) este tradus în acest mod în limba engleză (screenshot din versiunea MapInfo 5.5):

Editarea stilurilor umpluturilor de suprafață mapinfo - glab - 2007

Indiferent de situație, discrepanțele dintre localizările programului nu ar trebui să fie jenate ", spunem - partidul, adică - Lenin", adică. discursul va continua să se refere exact la umplerea contururilor obiectelor de zonă cu figura indicată conform anumitor reguli.

Este, desigur, "desen". Umplerile în MapInfo nu sunt vectori, ci reprezintă o imagine bitmap care este reprodusă în zona conturului.

Resursele programului

Un fișier separat (director) pentru plasarea mostrelor de mostre, asemănător cu MAPINFOW.PEN sau / CUSTSYMB, nu există în MapInfo. În schimb, imaginile sunt descărcate din fișierul de resurse, există un fișier multiplu care poate conține date absolut de orice tip, fie că sunt date șir, imagini sau fișiere întregi. Resursele compilate pot fi stocate în diferite formate. În cazul programelor bazate pe Windows, acestea sunt cel mai probabil fișiere EXE sau, ca în cazul de față, o DLL (o bibliotecă conectată dinamic).

Înainte de a începe, trebuie să luați în considerare următoarele:

Editarea stilurilor umpluturilor de suprafață mapinfo - glab - 2007

Locația fișierului de resurse

După cum am menționat deja, mostrele de umplere MapInfo sunt stocate în bibliotecile dinamice (DLL) din directorul rădăcină al programului. Numele acestor biblioteci s-au schimbat pentru fiecare versiune. Mai jos este o listă sumară a bibliotecilor cu resurse de probă de umplere pentru diferite versiuni ale MapInfo:

Ie după cum se poate vedea din tabelul de mai sus, de la versiunea 5.0 la versiunea 10.0, numele bibliotecii de resurse au avut forma MIRES (MapInfo Resource) + numărul versiunii. În versiunea 10, numele au pierdut postfixul digital. Pentru versiunile 11.x și 12.0, biblioteca are numele micore (mapinfo core). La nivelul versiunii 12.5 (ultima în momentul de față), biblioteca a suferit modificări semnificative și a primit numele MIAuxResources.

Fișierul de resurse poate conține orice date. Ele sunt structurate pe tipuri și numele acestor tipuri sunt strict reglementate:

Editarea stilurilor umpluturilor de suprafață mapinfo - glab - 2007

După cum puteți vedea din capturile de ecran, compoziția resurselor sa schimbat în timp. Astfel, versiunile inferioare ale DLL reprezentate banal „groapa“ fiecare program imaginabil de resurse: pictograma bara de instrumente, chei de accelerator, programe de dialog, cursoare, și așa mai departe. În versiunile de mai sus, dialogurile și acceleratoarele dispar, apare un nou tip pentru pictogramele barei de instrumente, deși vechile pictograme rămân. Și în stadiul celei mai recente versiuni în DLL numai 3 tipuri, și două dintre ele, de fapt, serviciu.

Dar, din toate varietățile tipurilor prezentate, doar o secțiune a tipului "Bitmap" este interesantă pentru editarea tiparelor de umplere. Bitmap este o imagine bitmap, de obicei în format BMP.

Imaginile din secțiunea Bitmap sunt sortate după numărul crescut:

Editarea stilurilor umpluturilor de suprafață mapinfo - glab - 2007

Trebuie remarcat faptul că secțiunea Bitmap însăși a suferit modificări de la versiune la versiune. În versiunile inferioare, pe lângă modelele de umplere, în acest tip au fost înregistrate și pictogramele unor butoane de dialog (locația semnăturii, tipul diagramei etc.). Numărul de imagini cu umpluturi a fost mai mic de 900, în timp ce restul, respectiv, mai mult:

Editarea stilurilor umpluturilor de suprafață mapinfo - glab - 2007

MIAuxResources .dll (fișierul de resurse al celei mai recente versiuni a programului) Bitmap conține deja exclusiv modele de umplere. Ie este evident că există o ordonare treptată a structurii interne a programului, ceea ce, bineînțeles, este încurajator.

În plus, trebuie menționat faptul că numărul de modele de umplere sa schimbat și cu timpul:

Numărul de modele de umplere

Umpleți parametrii eșantionului

Umpleți singuri probele au un număr de caracteristici care trebuie luate în considerare atunci când lucrați cu ele.

Aspect

Orice imagini bitmap în format BMP și numai în BMP sunt acceptabile. Încercarea de a utiliza o imagine cu un alt format va determina descărcarea acesteia din urmă într-o altă partiție decât Bitmap. În cel mai bun caz. Sau la o eroare de structură DLL - în cel mai rău caz.

Dimensiunea imaginii

În versiunile mai mici, eșantioanele au fost strict 8 * 8 pixeli (px). Odată cu creșterea versiunii oțelului, obținem 16 × 16 px, iar ulterior 32 × 32 px. A fost stabilit experimental că puteți încărca imagini de orice dimensiune și orice proporții. Acestea vor fi afișate corect în listă și pe obiect, însă imaginile mari încetinesc semnificativ desenul.

Imagine color

Sa stabilit experimental că este posibilă utilizarea oricăror culori în proiectarea modelelor de umplere. Cu toate acestea, este necesar să se țină seama de faptul că măștile de culoare implicite sunt următoarele: culoarea substratului este albă, culoarea modelului este neagră. Dacă utilizați o altă culoare, culoarea substratului / modelului nu se va schimba în dialogul de setare a stilului obiect.

Image Depth

În mod prestabilit, toate eșantioanele care se umple de la livrarea standard au o adâncime de culoare de 1 bpp (bit-per-pixel) și o paletă indexată, respectiv. Sa stabilit experimental că utilizarea unei palete indexate cu o adâncime de culoare diferită de 1 bpp are ca rezultat o eroare de structură DLL. Astfel, este permisă utilizarea fie a imaginilor monocrome, fie a imaginilor full-color cu o adâncime de 16 sau mai multe bpp.

Aducerea la scară

După cum știți, umpluturile obiectelor MapInfo, precum și liniile, nu sunt scalabile, adică Tipul semnului convențional nu se modifică în funcție de setarea scalei. Și la fel ca în cazul liniilor. pentru a afișa corect umplerea hărții terminate, eșantionul trebuie să fie pregătit pentru o anumită scară.

Imaginea raster a modelului de umplere este măsurată în pixeli. Dimensiunea pixelilor depinde în mod direct de rezoluția imaginii. Rezoluția internă a MapInfo este de 96 DPI. Astfel, dimensiunea pixelului pentru MapInfo este:

1 inch / 96 DPI = 25,4 mm / 96 DPI = 0,26458 (3) mm ≈ 0,265 mm

Pe baza acestui fapt, puteți crea elemente ale modelului de umplere, care vor îndeplini mai mult sau mai puțin cerințele pentru proiectare la o anumită scară.

Exemple practice

Pentru a ilustra toate acestea, vă vom oferi exemple practice de creare și modificare a tiparelor de umplere ale obiectelor din zona MapInfo.

Exemplele vor fi implementate utilizând exemplul fișierului de resurse MapInfo 12.5 (32-bit). Pentru a lucra cu fișierul de resurse, va fi folosit programul Resource Hacker 4.2.5. MicroSoft Paint 6.3 va fi utilizat pentru a edita imagini.

Merită menționat câteva puncte importante legate de editarea fișierelor de resurse ale programului (și nu doar de MapInfo Professional).

În plus, este foarte de dorit să faceți o copie de siguranță a DLL-ului original în prealabil. În ciuda nesemnificativității schimbărilor făcute, este necesar să se înțeleagă că există încă o intervenție neautorizată în codul elaborat al programului. Cu consecințe imprevizibile, prin ele însele.

Și, în cele din urmă, momentul cel mai "subtil", legat direct de paragraful anterior. Intervenția în codul compilat al programului, modificarea acestuia formal (în mod oficial!) Încălcarea drepturilor titularului dreptului și lipsirea utilizatorului de suport tehnic. Prin urmare, o copie de siguranță a DLL-ului original este obligatorie.

Creați și editați o imagine

De exemplu, și apoi folosiți simbolul vosproizvedom „erbacee înălțimea vegetației de luncă mai mică de 1 m“ (# 369, „Simboluri pentru hărți topografice la 1: 10.000“ M. „Nedra“, 1977):

  • lungimea cursei de 0,8 mm corespunde cu 3 px;
  • distanța dintre cursele de 0,6 mm corespunde cu 2 px;
  • Distanța dintre semne de 4,0 mm corespunde cu 16 px.

Astfel, câmpul pentru modelul de umplere poate fi creat egal cu 32 × 32 px:

Editarea stilurilor umpluturilor de suprafață mapinfo - glab - 2007

Crearea unui model de umplere

Pentru a crea o zonă de umplere eșantion MapInfo caracteristici rula Resource Hacker program și încărcarea în ea MIAuxResources.dll resurse fișier (meniul File → Open ...). După ce am extins partiția Bitmap, selectați-o în câmpul din stânga și executați comanda meniu View → Expand Treeview.

Editarea stilurilor umpluturilor de suprafață mapinfo - glab - 2007

După cum puteți vedea, ultimul număr al modelului de umplere este 183. Numărul după număr indică localizarea limbii (1033) pentru care a fost creată această resursă. Aceste date trebuie amintite.

După aceasta, sunăm dialogul pentru adăugarea unei noi resurse binare (Acțiune → Adăugați o singură binară sau o resursă de imagine ...):

Editarea stilurilor umpluturilor de suprafață mapinfo - glab - 2007

Apoi, pe butonul Selectare fișier ..., selectați fișierul pregătit 369.BMP.

Editarea stilurilor de umpluturi pentru zone mapinfo - glab - 2007

Câmpurile de dialog trebuie să aibă forma:

  • Tipul de resurse - Bitmap (în loc de RCDATA);
  • Numele Resurselor - 184;
  • Limba de resurse - nu este completă.

Făcând clic pe butonul Adăugare resursă, modelul de umplere va fi adăugat la secțiunea Bitmap sub numărul 184:

Editarea stilurilor de umpluturi pentru zone mapinfo - glab - 2007

Rămâne să efectuați manipularea opțională - modificați limba resursei. Pentru a face acest lucru, executați comanda de meniu Acțiune → Schimbați limba pentru această resursă ... și în dialogul care se deschide, completați câmpul Lang. ID-ul.

Editarea stilurilor umpluturilor de suprafață mapinfo - glab - 2007

Acum rămâne doar salvarea fișierului editat (fișier → Salvare meniu) și copiați-l în directorul rădăcină al MapInfo.

Schimbarea modelului de umplere

Pentru a schimba modelul de umplere al obiectelor din zona MapInfo, repetați pașii inițiali descrisi mai sus și continuați cu resursa 184:

Editarea stilurilor de umpluturi pentru zone mapinfo - glab - 2007

Acum trebuie să extrageți imaginea resurselor pentru editare ulterioară. Pentru a face acest lucru, executați comanda de meniu Acțiune → Salvare * .bmp resursă ... și salvați imaginea într-un fișier numit 183.bmp.

Editarea stilurilor de umpluturi pentru zone mapinfo - glab - 2007

După salvarea desenului modificat, vom reveni la Resource Hacker la resursa 183 și vom executa comanda de meniu Acțiune → Înlocuire Bitmap .... În dialogul de înlocuire a imaginii cu ajutorul butonului Deschide fișier cu buton bitmap nou, selectați fișierul modificat 183.BMP:

Editarea stilurilor umpluturilor de suprafață mapinfo - glab - 2007

După ce faceți clic pe butonul Înlocuire, imaginea modelului de umplere va fi înlocuită:

Editarea stilurilor de umpluturi pentru zone mapinfo - glab - 2007

Acum rămâne doar salvarea fișierului editat (fișier → Salvare meniu) și copiați-l în directorul rădăcină al MapInfo.

Exemplu de editare a rezultatelor

Editarea stilurilor umpluturilor de suprafață mapinfo - glab - 2007