---
title: "Eget paint"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/71625-eget-paint"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Thompa__85"
published: "2003-03-20T08:50:02.000Z"
updated: "2003-04-06T12:57:31.000Z"
replies: 6
views: 292
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/71625-eget-paint"
---

# Eget paint

## #1 — Thompa__85, 2003-03-20T08:50Z

Tjenare! Sitter och kodar ett litet Paint liknande program!
Och skulle vilja ha så man kan färga hela fönstret, alltså "hinken" i paint... Har inte en aning om hur jag ska göra...  :q 

// Thomsson

Permalänk: https://www.webforum.nu/p/71625

## #2 — rymdknark, 2003-03-20T11:17Z

<http://www.allapi.net/apilist/FloodFill.shtml>

Permalänk: https://www.webforum.nu/p/984393

## #3 — Thompa__85, 2003-03-20T12:03Z

> **rymdknark skrev:**
>
> <http://www.allapi.net/apilist/FloodFill.shtml>

Hmm okej.. fattade inte mycket av det där tyvärr :/

Permalänk: https://www.webforum.nu/p/984411

## #4 — Thompa__85, 2003-03-20T13:49Z

kan jag inte använda mig av Fillcolor i detta läge?
Men får iallafall itne det att funka :/

Permalänk: https://www.webforum.nu/p/984461

## #5 — Xyzi, 2003-03-23T02:25Z

Det där (FloodFill) var  en api-funktion.
Det är en av alla de enkla, små, mycket praktiska funktioner som följer med windows. :). 

Om du i ditt paint-liknande-program använder en picturebox som
 användaren ritar i.. (ursäkta mitt dåliga språk nu... är rätt 
trött :p )... Hur som helst.. vi säger att användaren ritar i Picturebox1.

Då kommer dess "bildyta" att vara PictureBox1.hdc.
Denna "bildyta" innehåller all grafik som Pictureboxen innehåller.
Du kan även redigera denna yta via ett flertal kommandon. 

För att demonstrera...

Skriv överst i din kod

```
Private Declare Function FloodFill Lib "gdi32" _
(ByVal hdc As Long, _
ByVal x As Long, _
ByVal y As Long, _
ByVal crColor As Long) _
As Long
```

och sedan där du vill infoga "färgfyllningen", t ex efter att användaren har tryckt på en knapp och sedan tryckt någonstans på pictureboxen... låt oss säga att användaren har tryckt 
någonstans på pictureboxen:

```
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

       ' Följande kommer att fixa det hur lätt och snabbt som helst.
       ' Funktionen kommer här att fylla området där användaren har klickat med musen (X och Y definierad i i mousedown), med färgen vitt (RGB(x,y,z)).
       FloodFill Picture1.hdc, x, y, RGB(255, 255, 255)

End Sub
```

 

Japp, så suveränt är det, med lite api-funktioner. Fråga gärna 
om det var något du inte förstod eller om det inte fungerar.  :D

// Edit: Ok, jag upptäckte när jag testade detta att det verkade vara lite omständigare än vad jag tidigare trodde. Det verkar som om man måste definiera och skapa en massa sk. brushes och grejer.. :OO , är dock för trött för att tänka så mycket nu :p. Men skall, om jag har tid försöka komma på något imorgon :) (Edit: senare idag ;))

Permalänk: https://www.webforum.nu/p/986016

## #6 — Thompa__85, 2003-03-24T12:21Z

hehe okej.. jo märkte att det inte riktigt fungerade... tyvärr

Permalänk: https://www.webforum.nu/p/989718

## #7 — Nexus86, 2003-04-06T12:57Z

> **Xyzi skrev:**
>
> Funktionen kommer här att fylla området där användaren har klickat med musen (X och Y definierad i i mousedown), med färgen vitt (RGB(x,y,z)).
>        FloodFill Picture1.hdc, x, y, RGB(255, 255, 255)

Det stämmer ju inte riktigt. Om man kollar uppbyggnaden på AllAPI.net så står det

> **AllAPI.net skrev:**
>
> · crFill
> Specifies the color of the boundary or of the area to be filled.

Vilket innebär att man skriver i färgen som ska bytas ut och sedan har man gjort en brush som bestämmer färgen som kommer komma dit istället. Färgen som ska bytas ut kan man däremot få reda på med Point. Ex.

```
FloodFill Picture1.hdc, x, y, Picture1.Point(x, y)
```

EDIT // Den nya färgen ska skrivas i Picture1.FillColor såg jag nu. :)

EDIT2 // Glömde säga att du måste ha Picture1.FillStyle till 0. Solid. Inte 1 - Transparent. :)

Permalänk: https://www.webforum.nu/p/1001765

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/71625-eget-paint
