Transparentin kuvan näkyminen

14+18

Minulla on alunperin Delphi 3:lla tehty ohjelma. Siinä on kaksi kuvaa päällekkäin. Päällimmäiseen, läpinäkyvään piirretään ja sen alla oleva pysyy muuttumattomana. Ongelma on tähän päällimäiseen kuvaan piirrettyjen viivojen näkyminen. Tämä riippuu Windowsin versiosta. Windows 98:ssa kaikki toimi, kuten myös Server 2003:ssa. Esimerkiksi Windows XP:ssä päällimmäinen kuva vain vilahtaa sitä päivitettäessä. Läpinäkymättömänä se näkyy, mutta peittää nyt alemman kokonaan näkyvistä.

Miten tuon saisi näkymään oikein? Korjaisin ohjelmaa nyt Lazaruksella.

3

137

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Delphiguru

      Transparenttiohjelmointi on sen verran edistyksellistä ohjelmointia että kannattaa suosiolla unohtaa koko juttu. Itse en vuosienkaan jälkeen tajunnut siitä hevonvittuu ja olen kuitenkin keskitasoa parempi koodari.

      • huru-ukkoko

        Keskitasoa parempi koodari ei ymmärrä "transparent" eli ns. Läpinäkyvän grafiikan ohjelmointia, keskitasosi ei taida olla sitä kummenpi, Transparent-kuva perustuu vain yhden värin pois jättämiseen, eli kyseistä väriä ei käsitellä, alpha blendauksessa taasen on kyse pikselien poistosta tai pikselien muokkausta suhteessa näkyvään, perusasioita, helppo ohjelmoida.

        14 8:
        Suosittelen käyttämään vain yhtä bittikarttaa, eli ensin piirrä tärkein ja tämän jälkeen käsittele kyseinen kuva, toimii 100% varmasti sekä on nopeampi tapa.


    • 14+8

      Alimmaisen kuvan tulee pysyä muuttumattomana. Sen päällä piirretään, siirrellään ja pyyhitään viivoja. Yhdellä bittikartalla tämä olisi hankalaa. Nykyinen ohjelma on yksinkertainen koska käytin kahta bittikarttaa. Se on toiminut ainakin Windows 98:ssa ja Server 2003:ssa. Myöhemmissä Windowseissa (XP ja Vista) ja ainakin Ubuntussa se toimii samalla tavalla väärin. Miksi näkyminen riippuu käyttöjärjestelmästä?

      Jos laitan transparentiksi tyhjän kuvan sijasta kuvan jossa jo ennestään on sisältöä, saan piirrettyä kaikkiin sen taustaväristä poikkeaviin kohtiin, mutta en taustan värisiin.

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Kotihoito suomussalmella

      Mitämieltä ootte suomussalmen kotihoidosta?
      Suomussalmi
      40
      5595
    2. Maataloustuet pois

      Jokainen maksakoon harrastuksensa itse. Eihän golfin peluutakaan maksa yhteiskunta.
      Maailman menoa
      223
      4561
    3. Joko alkaa menemään tajuntaan tämä yliluonnollinen yhteys?

      Varmaan pikkuhiljaa. Muista olla kiltisti ❤️
      Ikävä
      36
      4494
    4. Australia, Britannia ja Kanada tunnustivat Palestiinan

      Aikooko Petteri Lapanen pysytellä persujen ja uskovaisten panttivankina ja jättää Suomen historian väärälle puolelle?
      Maailman menoa
      72
      4315
    5. Kohtalokas laukaus

      IL 20.9.25 "Ihminen kuoli baarin edustalla Kajaanissa Poliisi ei epäile tapauksessa rikosta." "Kajaanin keskustassa on k
      Kajaani
      26
      4282
    6. Työeläkkeen saamiseksi olisi tehtävä töitä

      Meillä on Suomessa iso joukko ihmisiä, joilla olisi vielä työkykyä jäljellä, mutta joilta puuttuu arjesta mielekäs tekem
      Maailman menoa
      160
      3775
    7. Mitä juuri sinulle kuuluu?

      Tänään? Rehellisesti.
      Ikävä
      96
      3162
    8. Joulukinkku NYT

      Sian kankuista tulee vielä pula. Nyt on oikea aika hankkia joulukinkku.
      Maailman menoa
      21
      3052
    9. Muistattekos kun Sannan aikana suomalaisten varallisuuteen lisättiin viidennes

      Köyhät voittivat eniten mutta rikkaimmat kuitenkin köyhtyi!
      Maailman menoa
      27
      3041
    10. Linux Mint asennus kaatuu heti alkuun

      Tulee kernel panic BIOS-tekstin jälkeen. Yritän ensimmäistä kertaa asentaa Linux Minttiä vanhalle Windows 10 -läppärill
      Apua aloittelijalle
      10
      2150
    Aihe