Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 18.12.2011, 22:08   #1
Vegas
Пользователь
 
Регистрация: 15.04.2010
Сообщений: 29
По умолчанию Вызов функции из DLL

В общем проблема следующая: нужно вызвать из dll функцию Conv(), которая делает некоторые операции над изображением, но возникает ошибка в следующей части кода: this.pic1.Image = cv.conv(bmp0);

Пишет: error CS1061: 'Conwert_To_XY.Conwertor_Img.Conwer t_Img' does not contain a definition for 'conv' and no extension method 'conv' accepting a first argument of type 'Conwert_To_XY.Conwertor_Img.Conwer t_Img' could be found (are you missing a using directive or an assembly reference?)


Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Conwert_To_XY;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void pic1_Click(object sender, EventArgs e)
        {

        }
        private void button1_Click(object sender, EventArgs e)
        {
            Conwert_To_XY.Conwertor_Img.Conwert_Img cv = default(Conwert_To_XY.Conwertor_Img.Conwert_Img);
            cv = new Conwert_To_XY.Conwertor_Img.Conwert_Img();
            Bitmap bmp0 = new Bitmap("c:\\1.png");
            this.pic1.Image = cv.conv(bmp0);
        }
        private void Form1_Load(object sender, EventArgs e)
        {

        }
    }
}

Вот код DLL:
Код:
Imports System.ComponentModel
Imports System.Drawing.Drawing2D
Imports System.Drawing

Namespace Conwertor_Img


    Public Class Conwert_Img
        Public Shared Function Conv(ByVal Image As System.Drawing.Image) As System.Drawing.Image
            Dim Width As Integer = Image.Width \ 2
            Dim Height As Integer = Image.Height \ 2
            Dim bmp As New Bitmap(Width, Height)
            Dim bmp0 As New Bitmap(Image.Width, Image.Height)
            bmp0 = Image.Clone
            Dim i, j, ox, oy As Integer
            Dim alfa, aux As Double
            For i = 0 To bmp.Width - 1
                For j = 0 To bmp.Height - 1
                    aux = i / bmp.Width
                    alfa = -2 * Math.PI * (aux) - Math.PI / 2
                    ox = Math.Round(bmp.Width + j * Math.Cos(alfa))
                    oy = -1 * Math.Round(j * Math.Sin(alfa) - bmp.Height)
                    bmp.SetPixel(i, bmp.Height - j - 1, bmp0.GetPixel(ox, oy))
                Next
            Next
            Width = bmp.Width * 2 * Math.PI
            Dim zoomImag As New System.Drawing.Bitmap(bmp, Width, Height)
            Return zoomImag
        End Function

        Public Sub New()

        End Sub
    End Class
End Namespace

Последний раз редактировалось Vegas; 19.12.2011 в 00:02.
Vegas вне форума
Старый 19.12.2011, 00:56   #2
Vegas
Пользователь
 
Регистрация: 15.04.2010
Сообщений: 29
По умолчанию

Спасибо, уже не надо. Если кому интересно, то ошибка в следующем: нужно было строку this.pic1.Image = cv.conv(bmp0); написать следующим образом:
this.pic1.Image = Conwert_To_XY.Conwertor_Img.Conwert _Img.Conv(bmp0);
Vegas вне форума
Старый 19.12.2011, 00:57   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ну мы этого не могли знать.
ибо нам неизвестна организация вашей сборки.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вызов функции из DLL(C#) ZverSS88 Помощь студентам 0 25.11.2010 11:27
Мини бэйсик:объявление функции, вызов функции , возврат. AL_LORD Помощь студентам 2 14.10.2010 17:48
Вызов произвольной функции из DLL Роман Радер Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 31 05.03.2010 22:35
Повторный вызов функции из dll Smertnik Общие вопросы C/C++ 5 15.05.2009 22:18
Вызов функции из dll-ки VVVadim Общие вопросы Delphi 2 28.04.2009 10:37