48629 (588583), страница 5

Файл №588583 48629 (Разработка программного обеспечения для фильтрации растровых изображений) 5 страница48629 (588583) страница 52016-07-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 5)

//{{AFX_INSERT_LOCATION}}

// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_BMDOC_H__0CC04D31_A879_4674_AAD5_292699AE7BA7__INCLUDED_)

// BMView.h : interface of the CBMView class

//

/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_BMVIEW_H__A58B1237_DC72_4389_BA43_93CC54F0F5EA__INCLUDED_)

#define AFX_BMVIEW_H__A58B1237_DC72_4389_BA43_93CC54F0F5EA__INCLUDED_

#if _MSC_VER > 1000

#pragma once

#endif // _MSC_VER > 1000

class CBMView : public CScrollView

{

// Идентификатор таймера

UINT m_nTimer;

// Заголовок окна

CString m_strOrgTitle;

//Виртуальный экран

CBitmap m_VirtScreenBitmap;// растр

CDCm_VirtScreenDC;// контекст

// Масштаб вывода картинки

doublem_dScale;

intm_nStretchMode;

protected: // create from serialization only

CBMView();

DECLARE_DYNCREATE(CBMView)

// Attributes

public:

CBMDoc* GetDocument();

// Operations

public:

BOOL UpdateVirtualScreen();

void OnStartTimer();

void OnStopTimer();

afx_msg LONG OnStartTransform(UINT wParam, LONG lParam);

afx_msg LONG OnEndTransform(UINT wParam, LONG lParam);

// Overrides

// ClassWizard generated virtual function overrides

//{{AFX_VIRTUAL(CBMView)

public:

virtual BOOL PreCreateWindow(CREATESTRUCT& cs);

virtual void OnInitialUpdate();

protected:

virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);

virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);

virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);

virtual void OnDraw(CDC* pDC);

virtual void OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint);

virtual void OnPrint(CDC* pDC, CPrintInfo* pInfo);

//}}AFX_VIRTUAL

// Implementation

public:

virtual ~CBMView();

#ifdef _DEBUG

virtual void AssertValid() const;

virtual void Dump(CDumpContext& dc) const;

#endif

protected:

// Generated message map functions

protected:

//{{AFX_MSG(CBMView)

afx_msg BOOL OnEraseBkgnd(CDC* pDC);

afx_msg void OnTimer(UINT nIDEvent);

afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);

afx_msg void OnViewZoomin();

afx_msg void OnViewZoomout();

afx_msg void OnViewStretchhalftone();

afx_msg void OnUpdateViewStretchhalftone(CCmdUI* pCmdUI);

afx_msg void OnViewStretchcoloroncolor();

afx_msg void OnUpdateViewStretchcoloroncolor(CCmdUI* pCmdUI);

//}}AFX_MSG

DECLARE_MESSAGE_MAP()

};

#ifndef _DEBUG // debug version in BMView.cpp

inline CBMDoc* CBMView::GetDocument()

{ return (CBMDoc*)m_pDocument; }

#endif

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}

// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_BMVIEW_H__A58B1237_DC72_4389_BA43_93CC54F0F5EA__INCLUDED_)

// BMViewer.h : main header file for the BMVIEWER application

//

#if !defined(AFX_BMVIEWER_H__854A9B8C_6BD4_44CA_B4E4_F00CEF40C1E7__INCLUDED_)

#define AFX_BMVIEWER_H__854A9B8C_6BD4_44CA_B4E4_F00CEF40C1E7__INCLUDED_

#if _MSC_VER > 1000

#pragma once

#endif // _MSC_VER > 1000

#ifndef __AFXWIN_H__

#error include 'stdafx.h' before including this file for PCH

#endif

#include "resource.h" // main symbols

/////////////////////////////////////////////////////////////////////////////

// CBMApp:

// See BMViewer.cpp for the implementation of this class

//

class CBMApp : public CWinApp

{

public:

CBMApp();

// Overrides

// ClassWizard generated virtual function overrides

//{{AFX_VIRTUAL(CBMApp)

public:

virtual BOOL InitInstance();

//}}AFX_VIRTUAL

// Implementation

//{{AFX_MSG(CBMApp)

afx_msg void OnAppAbout();

afx_msg void OnFileNew();

//}}AFX_MSG

DECLARE_MESSAGE_MAP()

};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}

// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_BMVIEWER_H__854A9B8C_6BD4_44CA_B4E4_F00CEF40C1E7__INCLUDED_)

//BrightContDlg.h

#if !defined(AFX_BRIGHTCONTDLG_H__310F8D78_02DE_4055_A8DD_609EFC475802__INCLUDED_)

#define AFX_BRIGHTCONTDLG_H__310F8D78_02DE_4055_A8DD_609EFC475802__INCLUDED_

#if _MSC_VER > 1000

#pragma once

#endif // _MSC_VER > 1000

// BrightContDlg.h : header file

//

/////////////////////////////////////////////////////////////////////////////

// CBrightContDlg dialog

class CBrightContDlg : public CDialog

{

// Construction

public:

CBrightContDlg(CWnd* pParent = NULL); // standard constructor

int m_iBrightnessOffset;

int m_iContrastOffset;

// Dialog Data

//{{AFX_DATA(CBrightContDlg)

enum { IDD = IDD_BRIGHT_CONT };

CSliderCtrlm_ctrlContrast;

CSliderCtrlm_ctrlBrightness;

CStringm_strBrightness;

CStringm_strContrast;

//}}AFX_DATA

// Overrides

// ClassWizard generated virtual function overrides

//{{AFX_VIRTUAL(CBrightContDlg)

protected:

virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support

//}}AFX_VIRTUAL

// Implementation

protected:

// Generated message map functions

//{{AFX_MSG(CBrightContDlg)

virtual BOOL OnInitDialog();

afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);

virtual void OnOK();

//}}AFX_MSG

DECLARE_MESSAGE_MAP()

};

//{{AFX_INSERT_LOCATION}}

// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_BRIGHTCONTDLG_H__310F8D78_02DE_4055_A8DD_609EFC475802__INCLUDED_)

// ChildFrm.h : interface of the CChildFrame class

//

/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_CHILDFRM_H__D84A743A_B4B5_4CE3_80C2_DF6B6B8A0860__INCLUDED_)

#define AFX_CHILDFRM_H__D84A743A_B4B5_4CE3_80C2_DF6B6B8A0860__INCLUDED_

#if _MSC_VER > 1000

#pragma once

#endif // _MSC_VER > 1000

class CChildFrame : public CMDIChildWnd

{

DECLARE_DYNCREATE(CChildFrame)

public:

CChildFrame();

// Attributes

protected:

CSplitterWnd m_wndSplitter;

public:

// Operations

public:

// Overrides

// ClassWizard generated virtual function overrides

//{{AFX_VIRTUAL(CChildFrame)

public:

virtual BOOL PreCreateWindow(CREATESTRUCT& cs);

protected:

virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext);

//}}AFX_VIRTUAL

// Implementation

public:

virtual ~CChildFrame();

#ifdef _DEBUG

virtual void AssertValid() const;

virtual void Dump(CDumpContext& dc) const;

#endif

// Generated message map functions

protected:

//{{AFX_MSG(CChildFrame)

// NOTE - the ClassWizard will add and remove member functions here.

// DO NOT EDIT what you see in these blocks of generated code!

//}}AFX_MSG

DECLARE_MESSAGE_MAP()

};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}

// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_CHILDFRM_H__D84A743A_B4B5_4CE3_80C2_DF6B6B8A0860__INCLUDED_)

// Filter.h : interface of CFilter and derived classes

/////////////////////////////////////////////////////////////////////////////

#ifndef _FILTER_INCLUDED

#define _FILTER_INCLUDED

class CRaster;

// Базовый виртуальный класс

class CFilter

{

protected:

CRaster *m_pSourceBM;

CRaster *m_pDestBM;

public:

// Устанавливает исходное и приемное изображения

void SetBuffers(CRaster *pSource, CRaster *pDest=NULL)

{m_pSourceBM=pSource;m_pDestBM=pDest;};

// Виртуальный метод преобразования пиксела

// будет переопределен в производных классах

virtual BOOL TransformPix(LONG x, LONG y){ return FALSE;};

};

// Базовый класс для точечных фильтров

class CDotFilter: public CFilter

{

protected:

// Таблицы преобразования для компонент цвета

BYTE BGRTransTable[3][256];

public:

// Метод преобразования пиксела

BOOL TransformPix(LONG x, LONG y);

};

// Яркость-контраст

class CBrightCont: public CDotFilter

{

public:

BOOL Init(int b_offset, int c_offset);

};

// Инверсия цветов

class CInvertColors: public CDotFilter

{

public:

CInvertColors();

};

// Рельеф

/*class CEmboss: public CDotFilter

{

public:

BOOL TransformPix(LONG x, LONG y);

};*/

// Пространственные (матричные) фильтры

// Базовый класс

class CMatrixFilter: public CFilter

{

protected:

int m_rangX; // размер матрицы по X и Y

int m_rangY;

const int *m_pMatrix; // указатель на матрицу

public:

// Метод преобразования пиксела

BOOL TransformPix(LONG x, LONG y);

};

class CBlur: public CMatrixFilter

{

public:

CBlur();

};

class CSharp: public CMatrixFilter

{

public:

CSharp();

BOOL TransformPix(LONG x, LONG y);

};

#endif

// MainFrm.h : interface of the CMainFrame class

//

/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_MAINFRM_H__0E83271E_987C_45D5_8475_25E6B2754E48__INCLUDED_)

#define AFX_MAINFRM_H__0E83271E_987C_45D5_8475_25E6B2754E48__INCLUDED_

#if _MSC_VER > 1000

#pragma once

#endif // _MSC_VER > 1000

class CMainFrame : public CMDIFrameWnd

{

DECLARE_DYNAMIC(CMainFrame)

public:

CMainFrame();

// Attributes

public:

// Operations

Public:

// Overrides

// ClassWizard generated virtual function overrides

//{{AFX_VIRTUAL(CMainFrame)

virtual BOOL PreCreateWindow(CREATESTRUCT& cs);

//}}AFX_VIRTUAL

// Implementation

public:

virtual ~CMainFrame();

#ifdef _DEBUG

virtual void AssertValid() const;

virtual void Dump(CDumpContext& dc) const;

#endif

protected: // control bar embedded members

CStatusBar m_wndStatusBar;

CToolBar m_wndToolBar;

// Generated message map functions

protected:

//{{AFX_MSG(CMainFrame)

afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);

// NOTE - the ClassWizard will add and remove member functions here.

// DO NOT EDIT what you see in these blocks of generated code!

//}}AFX_MSG

DECLARE_MESSAGE_MAP()

};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}

// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_MAINFRM_H__0E83271E_987C_45D5_8475_25E6B2754E48__INCLUDED_)

// Raster.h : interface of CRaster class

/////////////////////////////////////////////////////////////////////////////

#ifndef _RASTER_INCLUDED

#define _RASTER_INCLUDED

// макрос для определения количества байт в выровненной по DWORD строки пикселов в DIB

// Width - длина строки в пикселах; BPP - бит на пиксел

#define BYTESPERLINE(Width, BPP) ((WORD)((((DWORD)(Width) * \

(DWORD)(BPP) + 31) >> 5)) << 2)

class CRaster

{

LPBITMAPINFOm_pBMI; //указатель на описание изображения

PBYTEm_pData;//указатель на начало растровых данных

public:

CRaster();

~CRaster();

void Clear(); //очистка памяти

// Возвращает

LPBITMAPINFO GetBMInfoPtr(){return m_pBMI;}//указатель на заголовок растра

RGBQUAD* GetBMColorTabPtr();//указатель на таблицу цветов

LONG GetBMWidth(); //ширину в пикселах;

LONG GetBMHeight();//высоту в пикселах;

Характеристики

Тип файла
Документ
Размер
11,69 Mb
Учебное заведение
Неизвестно

Список файлов ВКР

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6525
Авторов
на СтудИзбе
301
Средний доход
с одного платного файла
Обучение Подробнее